[linux-next] thermal: int340x: processor_thermal: Ack all PCI interrupts

Message ID 20230920185153.613706-1-srinivas.pandruvada@linux.intel.com
State New
Headers
Series [linux-next] thermal: int340x: processor_thermal: Ack all PCI interrupts |

Commit Message

srinivas pandruvada Sept. 20, 2023, 6:51 p.m. UTC
  All interrupts from the processor thermal PCI device requires ACK. This
is done by writing 0x01 at offset 0xDC in the config space. This is
already done for the thereshold interrupt. Extend this for the workload
hint interrupt.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
 .../intel/int340x_thermal/processor_thermal_device_pci.c       | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

srinivas pandruvada Sept. 20, 2023, 7:29 p.m. UTC | #1
On Wed, 2023-09-20 at 21:21 +0200, Rafael J. Wysocki wrote:
> On Wed, Sep 20, 2023 at 8:52 PM Srinivas Pandruvada
> <srinivas.pandruvada@linux.intel.com> wrote:
> > 
> > All interrupts from the processor thermal PCI device requires ACK.
> > This
> > is done by writing 0x01 at offset 0xDC in the config space. This is
> > already done for the thereshold interrupt. Extend this for the
> > workload
> > hint interrupt.
> > 
> > Signed-off-by: Srinivas Pandruvada
> > <srinivas.pandruvada@linux.intel.com>
> 
> Is this a fix for one of the commits in linux-next?  If so, which
> one?
This is on top of workload hints patches.  I marked linux-next as they
are not in mainline kernel.

This can alternatively merged to 
e682b86211a1 thermal: int340x: Handle workload hint interrupts

But not sure how to mark the commit id as they will change.
Whatever you prefer.

Thanks,
Srinivas



> 
> > ---
> >  .../intel/int340x_thermal/processor_thermal_device_pci.c       | 3
> > ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git
> > a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pc
> > i.c
> > b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pc
> > i.c
> > index 44b179ce9bc9..3c5ced79ead0 100644
> > ---
> > a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pc
> > i.c
> > +++
> > b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pc
> > i.c
> > @@ -154,10 +154,11 @@ static irqreturn_t
> > proc_thermal_irq_handler(int irq, void *devid)
> >         if (status) {
> >                 /* Disable enable interrupt flag */
> >                 proc_thermal_mmio_write(pci_info,
> > PROC_THERMAL_MMIO_INT_ENABLE_0, 0);
> > -               pci_write_config_byte(pci_info->pdev, 0xdc, 0x01);
> >                 pkg_thermal_schedule_work(&pci_info->work);
> >         }
> > 
> > +       pci_write_config_byte(pci_info->pdev, 0xdc, 0x01);
> > +
> >         return ret;
> >  }
> > 
> > --
> > 2.40.1
> >
  
Rafael J. Wysocki Sept. 21, 2023, 9:36 a.m. UTC | #2
On Wed, Sep 20, 2023 at 9:29 PM srinivas pandruvada
<srinivas.pandruvada@linux.intel.com> wrote:
>
> On Wed, 2023-09-20 at 21:21 +0200, Rafael J. Wysocki wrote:
> > On Wed, Sep 20, 2023 at 8:52 PM Srinivas Pandruvada
> > <srinivas.pandruvada@linux.intel.com> wrote:
> > >
> > > All interrupts from the processor thermal PCI device requires ACK.
> > > This
> > > is done by writing 0x01 at offset 0xDC in the config space. This is
> > > already done for the thereshold interrupt. Extend this for the
> > > workload
> > > hint interrupt.
> > >
> > > Signed-off-by: Srinivas Pandruvada
> > > <srinivas.pandruvada@linux.intel.com>
> >
> > Is this a fix for one of the commits in linux-next?  If so, which
> > one?
> This is on top of workload hints patches.  I marked linux-next as they
> are not in mainline kernel.
>
> This can alternatively merged to
> e682b86211a1 thermal: int340x: Handle workload hint interrupts
>
> But not sure how to mark the commit id as they will change.

As a rule, commits in my linux-next branch don't change (they
sometimes change, but that is not a common case), so you can use the
current one.  If it changes, I'll update the tag accordingly.

I'm going to add a Fixes: tag pointing to the above commit to it.

Thanks!
  

Patch

diff --git a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
index 44b179ce9bc9..3c5ced79ead0 100644
--- a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
+++ b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
@@ -154,10 +154,11 @@  static irqreturn_t proc_thermal_irq_handler(int irq, void *devid)
 	if (status) {
 		/* Disable enable interrupt flag */
 		proc_thermal_mmio_write(pci_info, PROC_THERMAL_MMIO_INT_ENABLE_0, 0);
-		pci_write_config_byte(pci_info->pdev, 0xdc, 0x01);
 		pkg_thermal_schedule_work(&pci_info->work);
 	}
 
+	pci_write_config_byte(pci_info->pdev, 0xdc, 0x01);
+
 	return ret;
 }