Message ID | 20190908024800.23229-1-anarsoul@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/lima: fix lima_gem_wait() return value | expand |
Oh, I was miss leading by the drm_gem_reservation_object_wait comments. Patch is: Reviewed-by: Qiang Yu <yuq825@gmail.com> I'll apply this patch to drm-misc-next. Current kernel release is 5.3-rc8, is it too late for this fix to go into the mainline 5.3 release? I'd like to know how to apply this fix for current rc kernels, by drm-misc-fixes? Can I push to drm-misc-fixes by dim or I can only push to drm-misc-next and drm-misc maintainer will pick fixes from it to drm-misc-fixes? Thanks, Qiang On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote: > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME > if it timeouts, but lima driver assumed that 0 is error. > > Cc: stable@vger.kernel.org > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > --- > drivers/gpu/drm/lima/lima_gem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c > index 477c0f766663..b609dc030d6c 100644 > --- a/drivers/gpu/drm/lima/lima_gem.c > +++ b/drivers/gpu/drm/lima/lima_gem.c > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns) > timeout = drm_timeout_abs_to_jiffies(timeout_ns); > > ret = drm_gem_reservation_object_wait(file, handle, write, timeout); > - if (ret == 0) > + if (ret == -ETIME) > ret = timeout ? -ETIMEDOUT : -EBUSY; > > return ret; > -- > 2.23.0 >
Hi Qiang, Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu: > Oh, I was miss leading by the drm_gem_reservation_object_wait > comments. Patch is: > Reviewed-by: Qiang Yu <yuq825@gmail.com> > > I'll apply this patch to drm-misc-next. > > Current kernel release is 5.3-rc8, is it too late for this fix to go > into the mainline 5.3 release? > I'd like to know how to apply this fix for current rc kernels, by > drm-misc-fixes? Can I push > to drm-misc-fixes by dim or I can only push to drm-misc-next and > drm-misc maintainer will > pick fixes from it to drm-misc-fixes? drm-misc-fixes gets merged into drm-misc-next by maintainers regularly, so I _think_ you should apply the fix-patch to drm-misc-fixes first. [I also always have to read the documentation ;-) ] In any case you might want to add a "Fixes: ....." tag as well as a "Cc: stable@vger.kernel.org" tag, so it can be backported to stable kernels if applicable. Heiko > On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote: > > > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME > > if it timeouts, but lima driver assumed that 0 is error. > > > > Cc: stable@vger.kernel.org > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > > --- > > drivers/gpu/drm/lima/lima_gem.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c > > index 477c0f766663..b609dc030d6c 100644 > > --- a/drivers/gpu/drm/lima/lima_gem.c > > +++ b/drivers/gpu/drm/lima/lima_gem.c > > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns) > > timeout = drm_timeout_abs_to_jiffies(timeout_ns); > > > > ret = drm_gem_reservation_object_wait(file, handle, write, timeout); > > - if (ret == 0) > > + if (ret == -ETIME) > > ret = timeout ? -ETIMEDOUT : -EBUSY; > > > > return ret; > > -- > > 2.23.0 > > > _______________________________________________ > lima mailing list > lima@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/lima
On Mon, Sep 9, 2019 at 5:18 AM Heiko Stübner <heiko@sntech.de> wrote: > > Hi Qiang, > > Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu: > > Oh, I was miss leading by the drm_gem_reservation_object_wait > > comments. Patch is: > > Reviewed-by: Qiang Yu <yuq825@gmail.com> > > > > I'll apply this patch to drm-misc-next. > > > > Current kernel release is 5.3-rc8, is it too late for this fix to go > > into the mainline 5.3 release? > > I'd like to know how to apply this fix for current rc kernels, by > > drm-misc-fixes? Can I push > > to drm-misc-fixes by dim or I can only push to drm-misc-next and > > drm-misc maintainer will > > pick fixes from it to drm-misc-fixes? > > drm-misc-fixes gets merged into drm-misc-next by maintainers regularly, > so I _think_ you should apply the fix-patch to drm-misc-fixes first. > [I also always have to read the documentation ;-) ] > > In any case you might want to add a "Fixes: ....." tag as well as a > "Cc: stable@vger.kernel.org" tag, so it can be backported to stable > kernels if applicable. Cc: stable is already here, but I think it still needs "Fixes: " tag. Qiang, can you add it at your side or you want me to resend the patch? > > Heiko > > > On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote: > > > > > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME > > > if it timeouts, but lima driver assumed that 0 is error. > > > > > > Cc: stable@vger.kernel.org > > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > > > --- > > > drivers/gpu/drm/lima/lima_gem.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c > > > index 477c0f766663..b609dc030d6c 100644 > > > --- a/drivers/gpu/drm/lima/lima_gem.c > > > +++ b/drivers/gpu/drm/lima/lima_gem.c > > > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns) > > > timeout = drm_timeout_abs_to_jiffies(timeout_ns); > > > > > > ret = drm_gem_reservation_object_wait(file, handle, write, timeout); > > > - if (ret == 0) > > > + if (ret == -ETIME) > > > ret = timeout ? -ETIMEDOUT : -EBUSY; > > > > > > return ret; > > > -- > > > 2.23.0 > > > > > _______________________________________________ > > lima mailing list > > lima@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/lima > > > >
Thanks Heiko, I'll push this patch to drm-misc-fixes. I can add the Fixes tag before push. Thanks, Qiang On Tue, Sep 10, 2019 at 12:23 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote: > > On Mon, Sep 9, 2019 at 5:18 AM Heiko Stübner <heiko@sntech.de> wrote: > > > > Hi Qiang, > > > > Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu: > > > Oh, I was miss leading by the drm_gem_reservation_object_wait > > > comments. Patch is: > > > Reviewed-by: Qiang Yu <yuq825@gmail.com> > > > > > > I'll apply this patch to drm-misc-next. > > > > > > Current kernel release is 5.3-rc8, is it too late for this fix to go > > > into the mainline 5.3 release? > > > I'd like to know how to apply this fix for current rc kernels, by > > > drm-misc-fixes? Can I push > > > to drm-misc-fixes by dim or I can only push to drm-misc-next and > > > drm-misc maintainer will > > > pick fixes from it to drm-misc-fixes? > > > > drm-misc-fixes gets merged into drm-misc-next by maintainers regularly, > > so I _think_ you should apply the fix-patch to drm-misc-fixes first. > > [I also always have to read the documentation ;-) ] > > > > In any case you might want to add a "Fixes: ....." tag as well as a > > "Cc: stable@vger.kernel.org" tag, so it can be backported to stable > > kernels if applicable. > > Cc: stable is already here, but I think it still needs "Fixes: " tag. > > Qiang, can you add it at your side or you want me to resend the patch? > > > > > Heiko > > > > > On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote: > > > > > > > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME > > > > if it timeouts, but lima driver assumed that 0 is error. > > > > > > > > Cc: stable@vger.kernel.org > > > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > > > > --- > > > > drivers/gpu/drm/lima/lima_gem.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c > > > > index 477c0f766663..b609dc030d6c 100644 > > > > --- a/drivers/gpu/drm/lima/lima_gem.c > > > > +++ b/drivers/gpu/drm/lima/lima_gem.c > > > > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns) > > > > timeout = drm_timeout_abs_to_jiffies(timeout_ns); > > > > > > > > ret = drm_gem_reservation_object_wait(file, handle, write, timeout); > > > > - if (ret == 0) > > > > + if (ret == -ETIME) > > > > ret = timeout ? -ETIMEDOUT : -EBUSY; > > > > > > > > return ret; > > > > -- > > > > 2.23.0 > > > > > > > _______________________________________________ > > > lima mailing list > > > lima@lists.freedesktop.org > > > https://lists.freedesktop.org/mailman/listinfo/lima > > > > > > > >
I've pushed this patch to drm-misc-fixes: https://cgit.freedesktop.org/drm/drm-misc/commit/?h=drm-misc-fixes&id=21670bd78a25001cf8ef2679b378c73fb73b904f There is a conflict when drm-tip merge process which has been solved by following the doc: https://drm.pages.freedesktop.org/maintainer-tools/drm-tip.html drm_gem_reservation_object_wait() has been renamed to drm_gem_dma_resv_wait() in drm-misc-next and drm-next. Please let me know if I have to also push this fix to drm-misc-next by my own. Thanks, Qiang On Tue, Sep 10, 2019 at 9:16 AM Qiang Yu <yuq825@gmail.com> wrote: > > Thanks Heiko, I'll push this patch to drm-misc-fixes. > > I can add the Fixes tag before push. > > Thanks, > Qiang > > On Tue, Sep 10, 2019 at 12:23 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote: > > > > On Mon, Sep 9, 2019 at 5:18 AM Heiko Stübner <heiko@sntech.de> wrote: > > > > > > Hi Qiang, > > > > > > Am Montag, 9. September 2019, 04:30:43 CEST schrieb Qiang Yu: > > > > Oh, I was miss leading by the drm_gem_reservation_object_wait > > > > comments. Patch is: > > > > Reviewed-by: Qiang Yu <yuq825@gmail.com> > > > > > > > > I'll apply this patch to drm-misc-next. > > > > > > > > Current kernel release is 5.3-rc8, is it too late for this fix to go > > > > into the mainline 5.3 release? > > > > I'd like to know how to apply this fix for current rc kernels, by > > > > drm-misc-fixes? Can I push > > > > to drm-misc-fixes by dim or I can only push to drm-misc-next and > > > > drm-misc maintainer will > > > > pick fixes from it to drm-misc-fixes? > > > > > > drm-misc-fixes gets merged into drm-misc-next by maintainers regularly, > > > so I _think_ you should apply the fix-patch to drm-misc-fixes first. > > > [I also always have to read the documentation ;-) ] > > > > > > In any case you might want to add a "Fixes: ....." tag as well as a > > > "Cc: stable@vger.kernel.org" tag, so it can be backported to stable > > > kernels if applicable. > > > > Cc: stable is already here, but I think it still needs "Fixes: " tag. > > > > Qiang, can you add it at your side or you want me to resend the patch? > > > > > > > > Heiko > > > > > > > On Sun, Sep 8, 2019 at 10:48 AM Vasily Khoruzhick <anarsoul@gmail.com> wrote: > > > > > > > > > > drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME > > > > > if it timeouts, but lima driver assumed that 0 is error. > > > > > > > > > > Cc: stable@vger.kernel.org > > > > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > > > > > --- > > > > > drivers/gpu/drm/lima/lima_gem.c | 2 +- > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c > > > > > index 477c0f766663..b609dc030d6c 100644 > > > > > --- a/drivers/gpu/drm/lima/lima_gem.c > > > > > +++ b/drivers/gpu/drm/lima/lima_gem.c > > > > > @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns) > > > > > timeout = drm_timeout_abs_to_jiffies(timeout_ns); > > > > > > > > > > ret = drm_gem_reservation_object_wait(file, handle, write, timeout); > > > > > - if (ret == 0) > > > > > + if (ret == -ETIME) > > > > > ret = timeout ? -ETIMEDOUT : -EBUSY; > > > > > > > > > > return ret; > > > > > -- > > > > > 2.23.0 > > > > > > > > > _______________________________________________ > > > > lima mailing list > > > > lima@lists.freedesktop.org > > > > https://lists.freedesktop.org/mailman/listinfo/lima > > > > > > > > > > > >
diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c index 477c0f766663..b609dc030d6c 100644 --- a/drivers/gpu/drm/lima/lima_gem.c +++ b/drivers/gpu/drm/lima/lima_gem.c @@ -342,7 +342,7 @@ int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns) timeout = drm_timeout_abs_to_jiffies(timeout_ns); ret = drm_gem_reservation_object_wait(file, handle, write, timeout); - if (ret == 0) + if (ret == -ETIME) ret = timeout ? -ETIMEDOUT : -EBUSY; return ret;
drm_gem_reservation_object_wait() returns 0 if it succeeds and -ETIME if it timeouts, but lima driver assumed that 0 is error. Cc: stable@vger.kernel.org Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> --- drivers/gpu/drm/lima/lima_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)