public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Vanshidhar Konda <vanshidhar.r.konda@intel.com>
Cc: igt-dev@lists.freedesktop.org, brian.welty@intel.com
Subject: Re: [igt-dev] [PATCH 1/2] lib/ioctl_wrappers: Query if device supports set/get legacy tiling
Date: Fri, 15 Nov 2019 14:27:48 -0800	[thread overview]
Message-ID: <87tv74pyfv.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <20191115185154.ehxeyilnrjzawivj@vrkonda-desk.ra.intel.com>

On Fri, 15 Nov 2019 10:51:54 -0800, Vanshidhar Konda wrote:
>
> On Fri, Nov 15, 2019 at 10:16:19AM -0800, Dixit, Ashutosh wrote:
> > On Thu, 14 Nov 2019 21:50:39 -0800, Vanshidhar Konda wrote:
> >>
> >> On Thu, Nov 14, 2019 at 09:42:24PM -0800, Dixit, Ashutosh wrote:
> >> > On Thu, 14 Nov 2019 21:33:25 -0800, Vanshidhar Konda wrote:
> >> >>
> >> >> Add a method to query if the device supports setting and
> >> >> getting legacy tiling formats for buffer objects.
> >> >>
> >> >> Signed-off-by: Vanshidhar Konda <vanshidhar.r.konda@intel.com>
> >> >> ---
> >> >>  lib/ioctl_wrappers.c | 16 ++++++++++++++++
> >> >>  lib/ioctl_wrappers.h |  1 +
> >> >>  2 files changed, 17 insertions(+)
> >> >>
> >> >> diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
> >> >> index 628f8b83..837ef2cf 100644
> >> >> --- a/lib/ioctl_wrappers.c
> >> >> +++ b/lib/ioctl_wrappers.c
> >> >> @@ -133,6 +133,22 @@ __gem_get_tiling(int fd, struct drm_i915_gem_get_tiling *arg)
> >> >>	return err;
> >> >>  }
> >> >>
> >> >> +/**
> >> >> + * gem_has_legacy_hw_tiling:
> >> >> + * @fd: open i915 drm file descriptor
> >> >> + *
> >> >> + * Feature check to query if the device supports setting/getting
> >> >> + * legacy tiling formats for buffer objects
> >> >> + *
> >> >> + * Returns: True if tiling is supported
> >> >> + */
> >> >> +bool
> >> >> +gem_has_legacy_hw_tiling(int fd)
> >> >> +{
> >> >> +	struct drm_i915_gem_get_tiling arg = {};
> >> >> +	return (__gem_get_tiling(fd, &arg) != -EOPNOTSUPP);
> >> >
> >> > Probably just
> >> >
> >> >	return !__gem_get_tiling(fd, &arg);
> >>
> >> No. Only this specific error means it is not supported by the hardware.
> >> Other errors could mean that I made a mistake with the arguments - I've
> >> not set them to valid values.
> >
> > __gem_get_tiling() returns 0 if tiling is supported, it returns -EOPNOTSUPP
> > if tiling is not supported and if it returns anything else we don't know if
> > tiling is supported or not supported (error in arguments etc.). So if
> > gem_has_legacy_hw_tiling() is to definitively indicate tiling is supported
> > it should just:
> >
> >	return !__gem_get_tiling(fd, &arg);
> >
> > For example, if __gem_get_tiling() returns -EINVAL I don't think we want to
> > return true from gem_has_legacy_hw_tiling().
>
> The basis of my change is the assumption that GET/SET_TILING is
> supported by default. All user mode code today is written with the
> assumption that this is true. Only the return of EOPNOTSUPP indicates that
> it is not supported on the device. Even return of EINVAL would mean that it is
> supported but the argument passed is incorrect.

OK, finally understand that this way of doing it allows
gem_has_legacy_hw_tiling() be called without a valid gem object. A comment
would help but since the function doesn't take a gem object as an input
anyway, I guess it's fine as is too.

Perhaps need an empty line between the declaration and the following
statement to keep static checkers happy?

With that:

Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2019-11-15 22:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-15  5:33 [igt-dev] [PATCH 0/2] Check if get/set tiling is supported Vanshidhar Konda
2019-11-15  5:33 ` [igt-dev] [PATCH 1/2] lib/ioctl_wrappers: Query if device supports set/get legacy tiling Vanshidhar Konda
2019-11-15  5:42   ` Dixit, Ashutosh
2019-11-15  5:50     ` Vanshidhar Konda
2019-11-15 18:16       ` Dixit, Ashutosh
2019-11-15 18:51         ` Vanshidhar Konda
2019-11-15 22:27           ` Dixit, Ashutosh [this message]
2019-11-15  5:33 ` [igt-dev] [PATCH 2/2] i915/i915_fb_tiling: Check if device supports tiling Vanshidhar Konda
2019-11-15  6:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Check if get/set tiling is supported Patchwork
2019-11-16 12:50 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2019-11-15 23:16 [igt-dev] [PATCH 0/2] " Vanshidhar Konda
2019-11-15 23:16 ` [igt-dev] [PATCH 1/2] lib/ioctl_wrappers: Query if device supports set/get legacy tiling Vanshidhar Konda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tv74pyfv.wl-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=brian.welty@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=vanshidhar.r.konda@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox