RE: [PATCH v7 5/5] Add debugfs based statistical counter support in DWC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Fan Ni <nifan.cxl@xxxxxxxxx>
> Sent: 04 March 2025 02:33
> To: Krzysztof Wilczyński <kw@xxxxxxxxx>
> Cc: Fan Ni <nifan.cxl@xxxxxxxxx>; Shradha Todi <shradha.t@xxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; linux-
> pci@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-perf-users@xxxxxxxxxxxxxxx; manivannan.sadhasivam@xxxxxxxxxx;
> lpieralisi@xxxxxxxxxx; robh@xxxxxxxxxx; bhelgaas@xxxxxxxxxx; jingoohan1@xxxxxxxxx; Jonathan.Cameron@xxxxxxxxxx;
> a.manzanares@xxxxxxxxxxx; pankaj.dubey@xxxxxxxxxxx; cassel@xxxxxxxxxx; 18255117159@xxxxxxx;
> xueshuai@xxxxxxxxxxxxxxxxx; renyu.zj@xxxxxxxxxxxxxxxxx; will@xxxxxxxxxx; mark.rutland@xxxxxxx
> Subject: Re: [PATCH v7 5/5] Add debugfs based statistical counter support in DWC
> 
> On Tue, Mar 04, 2025 at 04:42:28AM +0900, Krzysztof Wilczyński wrote:
> > Hello,
> >
> > [...]
> > > > +static ssize_t counter_value_read(struct file *file, char __user
> > > > +*buf, size_t count, loff_t *ppos) {
> > > > +	struct dwc_pcie_rasdes_priv *pdata = file->private_data;
> > > > +	struct dw_pcie *pci = pdata->pci;
> > > > +	struct dwc_pcie_rasdes_info *rinfo = pci->debugfs->rasdes_info;
> > > > +	char debugfs_buf[DWC_DEBUGFS_BUF_MAX];
> > > > +	ssize_t pos;
> > > > +	u32 val;
> > > > +
> > > > +	mutex_lock(&rinfo->reg_event_lock);
> > > > +	set_event_number(pdata, pci, rinfo);
> > > > +	val = dw_pcie_readl_dbi(pci, rinfo->ras_cap_offset + RAS_DES_EVENT_COUNTER_DATA_REG);
> > > > +	mutex_unlock(&rinfo->reg_event_lock);
> > > > +	pos = scnprintf(debugfs_buf, DWC_DEBUGFS_BUF_MAX, "Counter
> > > > +value: %d\n", val);
> > > > +
> > > > +	return simple_read_from_buffer(buf, count, ppos, debugfs_buf,
> > > > +pos); }
> > >
> > > Do we need to check whether the counter is enabled or not for the
> > > event before retrieving the counter value?
> >
> > I believe, we have a patch that aims to address, have a look at:
> >
> >
> > https://lore.kernel.org/linux-pci/20250225171239.19574-1-manivannan.sa
> > dhasivam@xxxxxxxxxx
> 
> Maybe I missed something, that seems to fix counter_enable_read(), but here is to retrieve counter value.
> How dw_pcie_readl_dbi() can return something like "Counter Disabled"?
> 
> Fan

Hey Fan,
So the counter value will show 0 in case it is disabled so there will not be any issues as per say. We could add the
check here but I feel I have already exposed the functionality to check if a counter is enabled or disabled, (by reading the
counter_enable debugfs entry) so this could be handled in user space to only read the counter if it's enabled.

> >
> > Thank you!
> >
> > 	Krzysztof







[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux