[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47d600f0-e62e-e3b5-7fbe-68adce92af4f@arm.com>
Date: Tue, 6 Dec 2022 11:46:44 +0000
From: Suzuki K Poulose <suzuki.poulose@....com>
To: Yicong Yang <yangyicong@...wei.com>, mathieu.poirier@...aro.org
Cc: yangyicong@...ilicon.com, alexander.shishkin@...ux.intel.com,
helgaas@...nel.org, linux-pci@...r.kernel.org,
prime.zeng@...wei.com, linuxarm@...wei.com,
linux-kernel@...r.kernel.org, jonathan.cameron@...wei.com,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: Re: [PATCH 1/2] hwtracing: hisi_ptt: Only add the supported devices
to the filters list
Hi Yicong Yang
On 06/12/2022 11:34, Yicong Yang wrote:
> Hi Mathieu,
>
> Do we still have a chance to catch this cycle for these 2 patches?
Sorry, I have been handling the coresight tree this cycle (and will be
going forward). I have already sent the pull request to Greg. I am
afraid it is late for this cycle.
I can queue it for the next cycle.
Suzuki
>
> Thanks!
>
> On 2022/11/22 20:02, Yicong Yang wrote:
>> From: Yicong Yang <yangyicong@...ilicon.com>
>>
>> The PTT device can only support the devices on the same PCIe core,
>> within BDF range [lower_bdf, upper_bdf]. It's not correct to assume
>> the devices on the root bus are from the same PCIe core, there are
>> cases that root ports from different PCIe core are sharing the same
>> bus. So add the checking when initialize the filters list.
>>
>> Fixes: ff0de066b463 ("hwtracing: hisi_ptt: Add trace function support for HiSilicon PCIe Tune and Trace device")
>> Signed-off-by: Yicong Yang <yangyicong@...ilicon.com>
>> ---
>> drivers/hwtracing/ptt/hisi_ptt.c | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/drivers/hwtracing/ptt/hisi_ptt.c b/drivers/hwtracing/ptt/hisi_ptt.c
>> index 5d5526aa60c4..30f1525639b5 100644
>> --- a/drivers/hwtracing/ptt/hisi_ptt.c
>> +++ b/drivers/hwtracing/ptt/hisi_ptt.c
>> @@ -356,8 +356,18 @@ static int hisi_ptt_register_irq(struct hisi_ptt *hisi_ptt)
>>
>> static int hisi_ptt_init_filters(struct pci_dev *pdev, void *data)
>> {
>> + struct pci_dev *root_port = pcie_find_root_port(pdev);
>> struct hisi_ptt_filter_desc *filter;
>> struct hisi_ptt *hisi_ptt = data;
>> + u32 port_devid;
>> +
>> + if (!root_port)
>> + return 0;
>> +
>> + port_devid = PCI_DEVID(root_port->bus->number, root_port->devfn);
>> + if (port_devid < hisi_ptt->lower_bdf ||
>> + port_devid > hisi_ptt->upper_bdf)
>> + return 0;
>>
>> /*
>> * We won't fail the probe if filter allocation failed here. The filters
>>
Powered by blists - more mailing lists