[igt-dev] [PATCH i-g-t v3 1/3] lib/ioctl_wrapper: Add i915_get_param helper
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Wed Nov 28 21:34:47 UTC 2018
On 26/11/2018 07:36, Lukasz Kalamarz wrote:
> getparam is used in few places across IGT, but no helper function
> is used to reduce code duplication.
> v2: Added doc part and changed return value in case of error
>
> Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz at intel.com>
>
> Cc: Michal Winiarski <michal.winiarski at intel.com>
> Cc: Katarzyna Dec <katarzyna.dec at intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> ---
> lib/ioctl_wrappers.c | 22 ++++++++++++++++++++++
> lib/ioctl_wrappers.h | 1 +
> 2 files changed, 23 insertions(+)
>
> diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
> index 9f255508..aec4f15e 100644
> --- a/lib/ioctl_wrappers.c
> +++ b/lib/ioctl_wrappers.c
> @@ -468,6 +468,28 @@ void gem_sync(int fd, uint32_t handle)
> errno = 0;
> }
>
> +/**
> + * drm_get_param:
> + * @fd: open i915 drm file descriptor
> + * @param: drm parameter we want to read
> + *
> + * Helper function that execute GETPARAM ioctl for a given parameter.
> + *
> + * Return: Read value from GETPARAM
> + */
> +int drm_get_param(int fd, uint32_t param)
> +{
> + int value;
> + drm_i915_getparam_t gp = {
> + .param = param,
> + .value = &value
> + };
> +
> + if (igt_ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp) == -1)
> + return -EINVAL;
Returning the errno value would be more appropriate here IMO.
Daniele
> +
> + return value;
> +}
>
> bool gem_create__has_stolen_support(int fd)
> {
> diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
> index b22b36b0..90174d13 100644
> --- a/lib/ioctl_wrappers.h
> +++ b/lib/ioctl_wrappers.h
> @@ -74,6 +74,7 @@ int __gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write);
> void gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write);
> int gem_wait(int fd, uint32_t handle, int64_t *timeout_ns);
> void gem_sync(int fd, uint32_t handle);
> +int drm_get_param(int fd, uint32_t param);
> bool gem_create__has_stolen_support(int fd);
> uint32_t __gem_create_stolen(int fd, uint64_t size);
> uint32_t gem_create_stolen(int fd, uint64_t size);
>
More information about the igt-dev
mailing list