[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2025042449-capitol-neuron-b6fe@gregkh>
Date: Thu, 24 Apr 2025 12:34:10 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Jacek Lawrynowicz <jacek.lawrynowicz@...ux.intel.com>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Karol Wachowski <karol.wachowski@...el.com>
Subject: Re: [PATCH] accel/ivpu: Add handling of
VPU_JSM_STATUS_MVNCI_CONTEXT_VIOLATION_HW
On Thu, Apr 24, 2025 at 12:22:31PM +0200, Jacek Lawrynowicz wrote:
> Hi,
>
> On 4/22/2025 2:17 PM, Greg KH wrote:
> > On Tue, Apr 08, 2025 at 11:57:11AM +0200, Jacek Lawrynowicz wrote:
> >> From: Karol Wachowski <karol.wachowski@...el.com>
> >>
> >> commit dad945c27a42dfadddff1049cf5ae417209a8996 upstream.
> >>
> >> Trigger recovery of the NPU upon receiving HW context violation from
> >> the firmware. The context violation error is a fatal error that prevents
> >> any subsequent jobs from being executed. Without this fix it is
> >> necessary to reload the driver to restore the NPU operational state.
> >>
> >> This is simplified version of upstream commit as the full implementation
> >> would require all engine reset/resume logic to be backported.
> >
> > We REALLY do not like taking patches that are not upstream. Why not
> > backport all of the needed patches instead, how many would that be?
> > Taking one-off patches like this just makes it harder/impossible to
> > maintain the code over time as further fixes in this same area will NOT
> > apply properly at all.
> >
> > Think about what you want to be touching 5 years from now, a one-off
> > change that doesn't match the rest of the kernel tree, or something that
> > is the same?
>
> Sure, I'm totally on board with backporting all required patches.
> I thought it was not possible due to 100 line limit.
>
> This would be the minimum set of patches:
>
> Patch 1:
> drivers/accel/ivpu/ivpu_drv.c | 32 +++-----------
> drivers/accel/ivpu/ivpu_drv.h | 2 +
> drivers/accel/ivpu/ivpu_job.c | 78 ++++++++++++++++++++++++++-------
> drivers/accel/ivpu/ivpu_job.h | 1 +
> drivers/accel/ivpu/ivpu_mmu.c | 3 +-
> drivers/accel/ivpu/ivpu_sysfs.c | 5 ++-
> 6 files changed, 75 insertions(+), 46 deletions(-)
>
> Patch 2:
> drivers/accel/ivpu/ivpu_job.c | 15 ++++++---------
> 1 file changed, 6 insertions(+), 9 deletions(-)
>
> Patch 3:
> drivers/accel/ivpu/ivpu_job.c | 2 +-
> drivers/accel/ivpu/ivpu_jsm_msg.c | 3 +-
> drivers/accel/ivpu/vpu_boot_api.h | 45 +++--
> drivers/accel/ivpu/vpu_jsm_api.h | 303 +++++++++++++++++++++++++-----
> 4 files changed, 293 insertions(+), 60 deletions(-)
>
> Patch 4:
> drivers/accel/ivpu/ivpu_job.c | 27 ++++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
>
> First patch needs some changes to apply correctly to 6.12 but the rest of them apply pretty cleanly.
> Is this acceptable?
Totally acceptable, that's trivial compared to many of the larger
backports we have taken over the years :)
thanks,
greg k-h
Powered by blists - more mailing lists