All of lore.kernel.org
 help / color / mirror / Atom feed
* Not able to set RTC with qpnp-rtc driver
@ 2014-07-23 20:28 Siteshwar
  2014-07-23 23:26 ` Stephen Boyd
  0 siblings, 1 reply; 3+ messages in thread
From: Siteshwar @ 2014-07-23 20:28 UTC (permalink / raw)
  To: linux-arm-msm

Hello,

I am trying to set RTC on Nexus 5 (which uses qpnp-rtc driver).and
getting a permission error while setting it.

I am making following call from my application with valid arguments :

ioctl(rtc_fd, RTC_SET_TIME, tod)

when I make this call I see below messages in dmesg logs :

[   26.945670] spmi_pmic_arb fc4cf000.qcom,spmi:
pmic_arb_wait_for_done: transaction denied (0x5)
[   26.945743] qcom,qpnp-rtc qpnp-rtc-f85bbe00: SPMI write failed
[   26.945856] qcom,qpnp-rtc qpnp-rtc-f85bbe00: Write to RTC reg failed 1

The transaction denied message is coming from
https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/85564c374b6b082fc447f6dae53a630c04b4ef1c/drivers/spmi/spmi-pmic-arb.c#L158

It's fairly low level stuff and I am not sure why should it give a
permission error. The only config option I can find from documentation
is qpnp-rtc-write
(https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/cm-11.0/Documentation/devicetree/bindings/rtc/qpnp-rtc.txt)
and it is set in my configurations. In what cases I will get this
error while setting RTC ? Could this be a bug in the driver ?

-- 
Regards,
Siteshwar

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Not able to set RTC with qpnp-rtc driver
  2014-07-23 20:28 Not able to set RTC with qpnp-rtc driver Siteshwar
@ 2014-07-23 23:26 ` Stephen Boyd
  2014-07-24  9:13   ` Siteshwar
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Boyd @ 2014-07-23 23:26 UTC (permalink / raw)
  To: Siteshwar; +Cc: linux-arm-msm

On 07/23/14 13:28, Siteshwar wrote:
> Hello,
>
> I am trying to set RTC on Nexus 5 (which uses qpnp-rtc driver).and
> getting a permission error while setting it.
>
> I am making following call from my application with valid arguments :
>
> ioctl(rtc_fd, RTC_SET_TIME, tod)
>
> when I make this call I see below messages in dmesg logs :
>
> [   26.945670] spmi_pmic_arb fc4cf000.qcom,spmi:
> pmic_arb_wait_for_done: transaction denied (0x5)
> [   26.945743] qcom,qpnp-rtc qpnp-rtc-f85bbe00: SPMI write failed
> [   26.945856] qcom,qpnp-rtc qpnp-rtc-f85bbe00: Write to RTC reg failed 1
>
> The transaction denied message is coming from
> https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/85564c374b6b082fc447f6dae53a630c04b4ef1c/drivers/spmi/spmi-pmic-arb.c#L158
>
> It's fairly low level stuff and I am not sure why should it give a
> permission error. The only config option I can find from documentation
> is qpnp-rtc-write
> (https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/cm-11.0/Documentation/devicetree/bindings/rtc/qpnp-rtc.txt)
> and it is set in my configurations. In what cases I will get this
> error while setting RTC ? Could this be a bug in the driver ?
>

qpnp-rtc-write is not a config option. It's a DT property and it states
that the RTC can be written if it's set to 1 (it really should have been
a boolean property). If it isn't set the RTC can't be programmed by the
OS (i.e. it's configured by another entity outside of Linux). Looking at
the dts files in the cyanogenmod kernel you pointed to I don't see this
value set to anything but 0. You say that property is set in your
configurations. Have you modified the DT to have this property set to 1?
If so, don't do that.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Not able to set RTC with qpnp-rtc driver
  2014-07-23 23:26 ` Stephen Boyd
@ 2014-07-24  9:13   ` Siteshwar
  0 siblings, 0 replies; 3+ messages in thread
From: Siteshwar @ 2014-07-24  9:13 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: linux-arm-msm

Hi Stephen,

Yes, I have DT property qpnp-rtc-write set to 1 in my local kernel
sources. I have set it because I need write access to the clock.

I am aware that Android on Nexus 5 uses time_daemon utility to manage
time. I am trying to port Sailfish OS on Nexus 5 which uses a
different utility called dsme to manage time.

The ioctl call is coming from this code :

https://github.com/nemomobile/dsme/blob/4f8d29664c1b7180b45066c3ac5b3ad50eb91977/modules/iphb.c#L922

and I want this call to be successful. Even if I have qpnp-rtc-write
set to 1 I get a transaction denied message in kernel logs while
setting time. I want to know what is causing this call to fail and how
to avoid it ?

On Thu, Jul 24, 2014 at 4:56 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
> On 07/23/14 13:28, Siteshwar wrote:
>> Hello,
>>
>> I am trying to set RTC on Nexus 5 (which uses qpnp-rtc driver).and
>> getting a permission error while setting it.
>>
>> I am making following call from my application with valid arguments :
>>
>> ioctl(rtc_fd, RTC_SET_TIME, tod)
>>
>> when I make this call I see below messages in dmesg logs :
>>
>> [   26.945670] spmi_pmic_arb fc4cf000.qcom,spmi:
>> pmic_arb_wait_for_done: transaction denied (0x5)
>> [   26.945743] qcom,qpnp-rtc qpnp-rtc-f85bbe00: SPMI write failed
>> [   26.945856] qcom,qpnp-rtc qpnp-rtc-f85bbe00: Write to RTC reg failed 1
>>
>> The transaction denied message is coming from
>> https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/85564c374b6b082fc447f6dae53a630c04b4ef1c/drivers/spmi/spmi-pmic-arb.c#L158
>>
>> It's fairly low level stuff and I am not sure why should it give a
>> permission error. The only config option I can find from documentation
>> is qpnp-rtc-write
>> (https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/cm-11.0/Documentation/devicetree/bindings/rtc/qpnp-rtc.txt)
>> and it is set in my configurations. In what cases I will get this
>> error while setting RTC ? Could this be a bug in the driver ?
>>
>
> qpnp-rtc-write is not a config option. It's a DT property and it states
> that the RTC can be written if it's set to 1 (it really should have been
> a boolean property). If it isn't set the RTC can't be programmed by the
> OS (i.e. it's configured by another entity outside of Linux). Looking at
> the dts files in the cyanogenmod kernel you pointed to I don't see this
> value set to anything but 0. You say that property is set in your
> configurations. Have you modified the DT to have this property set to 1?
> If so, don't do that.
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by The Linux Foundation
>



-- 
Regards,
Siteshwar

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-07-24  9:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-23 20:28 Not able to set RTC with qpnp-rtc driver Siteshwar
2014-07-23 23:26 ` Stephen Boyd
2014-07-24  9:13   ` Siteshwar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.