Thread (19 messages) 19 messages, 5 authors, 2017-09-01

Re: [PATCH V2] spmi: pmic-arb: Enforce the ownership check optionally

From: Shawn Guo <hidden>
Date: 2017-08-26 03:47:00
Also in: linux-arm-msm, lkml

On Fri, Aug 25, 2017 at 04:18:18PM -0700, Stephen Boyd wrote:
On 08/25, Shawn Guo wrote:
quoted
On Thu, Aug 24, 2017 at 11:37:01AM -0700, Stephen Boyd wrote:
quoted
On 08/24, Shawn Guo wrote:
quoted
On Tue, Aug 22, 2017 at 01:31:32PM -0700, Stephen Boyd wrote:
quoted
Also, I see that on v4.13-rc series the read/write checks are
causing the led driver to fail in a different way:

    spmi spmi-0: error: impermissible write to peripheral sid:0 addr:0xc040
    qcom-spmi-gpio 200f000.spmi:pm8916@0:gpios@c000: write 0x40 failed
    leds-gpio soc:leds: Error applying setting, reverse things back
    spmi spmi-0: error: impermissible write to peripheral sid:0 addr:0xc041
    qcom-spmi-gpio 200f000.spmi:pm8916@0:gpios@c000: write 0x41 failed
    leds-gpio: probe of soc:leds failed with error -1 

Are you seeing similar behavior?
Yes.  I forgot to mention that, and leds-gpio failure is gone after
applying Kiran's patch below.

spmi: pmic-arb: remove the read/write access checks
Sure. Removing the checks will silence the warnings, but it still
means that we're attempting to configure GPIOs that we shouldn't
be configuring.
The driver is attempting to configure the GPIOs that device tree tells
to.

	led@3 {                        
		label = "apq8016-sbc:green:user3";
		gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
		linux,default-trigger = "mmc1";
		default-state = "off";         
	};

Are you saying, in case of user3 led above, device tree shouldn't use
GPIO <&pm8916_gpios 1> there at all?
Right. Does the GPIO work? If so, it sounds like the read/write
access checks in spmi pmic arb don't work properly.
The check works.  With the check in there, PM8916 GPIO doesn't work.
However, the consequence is that not only user3 but all GPIO leds under
'leds' node will fail to register, because any GPIO led's failing on
create_gpio_led() makes leds-gpio driver probe fail as a while.  That's
how leds-gpio driver works.

Also, per schematics, PM8916 GPIO1 is indeed routed to user3 LED on
db410c board.  Why do you think apq8016-sbc device tree shouldn't use
the GPIO for that at all?  Isn't it firmware's fault that the ownership
of the peripheral is not properly configured?

Shawn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help