Re: [igt-dev] [PATCH i-g-t v2 1/5] lib/igt_pm: Add lib func to get lpsp capability

Anshuman Gupta
2020-03-24T06:15:49Z

On 2020-03-23 at 12:25:25 +0530, Peres, Martin wrote:
> On 2020-03-23 08:32, Anshuman Gupta wrote:
> > This lib function evaluate the lpsp capability from
> > the connector specific debugfs attribute i915_lpsp_info.
> >
> > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > ---
> > lib/igt_pm.c | 27 +++++++++++++++++++++++++++
> > lib/igt_pm.h | 1 +
> > 2 files changed, 28 insertions(+)
> >
> > diff --git a/lib/igt_pm.c b/lib/igt_pm.c
> > index 9d441e1b..7a6cab7c 100644
> > --- a/lib/igt_pm.c
> > +++ b/lib/igt_pm.c
> > @@ -37,6 +37,7 @@
> > #include <dirent.h>
> >
> > #include "drmtest.h"
> > +#include "igt_kms.h"
> > #include "igt_pm.h"
> > #include "igt_aux.h"
> > #include "igt_sysfs.h"
> > @@ -827,3 +828,29 @@ bool igt_pm_pc8_plus_residencies_enabled(int msr_fd)
> >
> > return true;
> > }
> > +
> > +/**
> > + * igt_output_is_lpsp_capable:
> > + * @drm_fd: fd to drm device
> > + * @output: igt output for which lpsp capability need to be evaluated
> > + * Check lpsp capability for a given output.
> > + *
> > + * Returns:
> > + * True if given output is lpsp capable otherwise false.
> > + */
> > +bool igt_output_is_lpsp_capable(int drm_fd, igt_output_t *output)
>
> Do we have a file for i915-specific features? If not, maybe prefixing
> the function with i915 would help readers understand that this is an
> i915-specific function.
I am unable to find any igt lib file for i915-features.
IMO this is a power feature, igt_pm.c suits it.
I will change the prefix to i915_ but all other
function in this file are using igt_ prefix,
i hope that will not be an issue.
Thanks,
Anshuman Gupta.
>
> > +{
> > + char buf[256];
> > + int fd, len;
> > +
> > + fd = igt_debugfs_connector_dir(drm_fd, output->name, O_RDONLY);
> > + igt_require(fd >= 0);
> > + len = igt_debugfs_simple_read(fd, "i915_lpsp_info", buf, sizeof(buf));
> > +
> > + if (len < 0)
> > + igt_assert_eq(len, -ENODEV);
> > +
> > + close(fd);
> > +
> > + return strstr(buf, "LPSP capable");
> > +}
> > diff --git a/lib/igt_pm.h b/lib/igt_pm.h
> > index 5e438452..076d8c27 100644
> > --- a/lib/igt_pm.h
> > +++ b/lib/igt_pm.h
> > @@ -53,5 +53,6 @@ enum igt_runtime_pm_status igt_get_runtime_pm_status(void);
> > bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
> > bool igt_pm_dmc_loaded(int debugfs);
> > bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
> > +bool igt_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
> >
> > #endif /* IGT_PM_H */
> >
>

> pub 2048R/33A53379 2019-12-02 Martin Peres <martin.peres@linux.intel.com>
> sub 2048R/C5E7DE5F 2019-12-02 [expires: 2020-12-01]