lkml.org 
[lkml]   [2015]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v6 2/2] hwspinlock: qcom: Add support for Qualcomm HW Mutex block
On Thu, Mar 12, 2015 at 01:31:50PM -0600, Lina Iyer wrote:
> On Fri, Feb 27 2015 at 15:30 -0700, Bjorn Andersson wrote:
> >Add driver for Qualcomm Hardware Mutex block found in many Qualcomm
> >SoCs.
> >
> >Based on initial effort by Kumar Gala <galak@codeaurora.org>
> >
> >Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> >---
> >
>
> [...]
>
> >+#include "hwspinlock_internal.h"
> >+
> >+#define QCOM_MUTEX_APPS_PROC_ID 1
> Hi Bjorn,
>
> Not all locks use 1 to indicate its locked. For example lock index 7 is
> used by cpuidle driver between HLOS and SCM. It uses a write value of
> (128 + smp_processor_id()) to lock.

So this was the lock_rlock_id API?

>
> A cpu acquires the remote spin lock, and calls into SCM to terminate the
> power down sequence while passing the state of the L2. The lock help
> guarantee the last core to hold the spinlock to have the most up to date
> value for the L2 flush flag.
>
> >+#define QCOM_MUTEX_NUM_LOCKS 32
>
> Also, talking to Jeff it seems like that out of the 32 locks defined
> only 8 is accessible from Linux. So its unnecessary and probably
> incorrect to assume that there are 32 locks available.

Out of curiosity, this is a TZ thing? If so, we'd expect issues if someone
decides to utilize resources that, while technically are present, are unusable
by that processor. This is not that much different from someone misconfiguring
an EE on a DMA controller.

> >+{
> >+ struct regmap_field *field = lock->priv;
> >+ u32 lock_owner;
> >+ int ret;
> >+
> >+ ret = regmap_field_write(field, QCOM_MUTEX_APPS_PROC_ID);
> >+ if (ret)
> >+ return ret;
> >+
> >+ ret = regmap_field_read(field, &lock_owner);
> >+ if (ret)
> >+ return ret;
> >+
> >+ return lock_owner == QCOM_MUTEX_APPS_PROC_ID;
> >+}
> >+
>

--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project



\
 
 \ /
  Last update: 2015-03-12 21:01    [W:0.166 / U:2.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site