[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <95024107-94d2-6114-4c50-b152c4da362b@huawei.com>
Date: Tue, 22 Nov 2022 21:23:44 +0800
From: hejunhao <hejunhao3@...wei.com>
To: Suzuki Kuruppassery Poulose <suzuki.poulose@....com>,
<mathieu.poirier@...aro.org>, <mike.leach@...aro.org>,
<leo.yan@...aro.org>, <jonathan.cameron@...wei.com>,
<john.garry@...wei.com>
CC: <coresight@...ts.linaro.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-doc@...r.kernel.org>, <lpieralisi@...nel.org>,
<linuxarm@...wei.com>, <yangyicong@...wei.com>,
<liuqi115@...wei.com>, <f.fangjian@...wei.com>,
<prime.zeng@...ilicon.com>
Subject: Re: [PATCH v13 1/2] drivers/coresight: Add UltraSoc System Memory
Buffer driver
On 2022/11/21 18:47, Suzuki Kuruppassery Poulose wrote:
> On 18/11/2022 12:45, hejunhao wrote:
>> Hi Suzuki ,
>>
>>
>> On 2022/11/15 19:06, Suzuki K Poulose wrote:
>>> On 14/11/2022 09:03, Junhao He wrote:
>>>> From: Qi Liu <liuqi115@...wei.com>
>>>>
>
>>>> +static void smb_init_hw(struct smb_drv_data *drvdata)
>>>> +{
>>>> + /* First disable SMB and clear the status of SMB buffer */
>>>> + smb_reset_buffer_status(drvdata);
>>>> + smb_disable_hw(drvdata);
>>>> + smb_purge_data(drvdata);
>>>> +
>>>> + writel(SMB_LB_CFG_LO_DEFAULT, drvdata->base + SMB_LB_CFG_LO_REG);
>>>> + writel(SMB_LB_CFG_HI_DEFAULT, drvdata->base + SMB_LB_CFG_HI_REG);
>>>> + writel(SMB_GLB_CFG_DEFAULT, drvdata->base + SMB_GLB_CFG_REG);
>>>> + writel(SMB_GLB_INT_CFG, drvdata->base + SMB_GLB_INT_REG);
>>>> + writel(SMB_LB_INT_CTRL_CFG, drvdata->base + SMB_LB_INT_CTRL_REG);
>>>
>>> Does this come with interrupt on overflow ? Do we not use this ?
>>>
>> When the buffer overflow, no interrupt will come.
>> Interrupt will upgrade SMB_LB_INT_STS_REG register status if start
>> trace.
>> Thanks.
>>> Rest looks fine to me.
>
> What is the purpose of the "Interrupt" on the SMB ? It is not clear to
> me.
The SMB_LB_INT_CTRL_REG register control the validity of both real-time
events and interrupts. When logical buffer status changes causes to issue an
interrupt at the same time as it issues a real-time event.
Real-time events are used in SMB driver, which needs to get the buffer
status.
Interrupts are used in debugger mode and cannot be registered in kernel.
..._BUF_NOTE_MASK control which events flags or interrupts are valid.
Thanks.
Best regards,
Junhao.
> Suzuki
>
> _______________________________________________
> CoreSight mailing list -- coresight@...ts.linaro.org
> To unsubscribe send an email to coresight-leave@...ts.linaro.org
Powered by blists - more mailing lists