Message ID | 1549556602-27228-3-git-send-email-ramalingam.c@intel.com |
---|---|
State | New |
Series | "Series without cover letter" |
Headers | show |
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c index 895e9e8d8b11..7a6450539f5d 100644 --- a/tests/kms_content_protection.c +++ b/tests/kms_content_protection.c @@ -214,6 +214,14 @@ static bool igt_pipe_is_free(igt_display_t *display, enum pipe pipe) return true; } +static void test_cp_lic(igt_output_t *output) +{ + bool ret; + + /* Wait for 4Secs (min 2 cycles of Link Integrity Check) */ + ret = wait_for_prop_value(output, 1, 4 * 1000); + igt_assert_f(!ret, "Content Protection LIC Failed\n"); +} static void test_content_protection_on_output(igt_output_t *output, enum igt_commit_style s) @@ -237,6 +245,7 @@ static void test_content_protection_on_output(igt_output_t *output, modeset_with_fb(pipe, output, s); test_cp_enable_with_retry(output, s, 3); + test_cp_lic(output); test_cp_disable(output, s); primary = igt_output_get_plane_type(output,
On Thu, Feb 07, 2019 at 09:53:22PM +0530, Ramalingam C wrote: > Once the HDCP is enabled, kernel will run the link integrity check(LIC) > atleast once in 2Secs based on the HDCP versions. > > So to confirm the link integrity check is passed, we oberve that HDCP > state remains ENABLED for next 4Secs. > > Signed-off-by: Ramalingam C <ramalingam.c@intel.com> > --- > tests/kms_content_protection.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c > index 895e9e8d8b11..7a6450539f5d 100644 > --- a/tests/kms_content_protection.c > +++ b/tests/kms_content_protection.c > @@ -214,6 +214,14 @@ static bool igt_pipe_is_free(igt_display_t *display, enum pipe pipe) > return true; > } > > +static void test_cp_lic(igt_output_t *output) > +{ > + bool ret; > + > + /* Wait for 4Secs (min 2 cycles of Link Integrity Check) */ > + ret = wait_for_prop_value(output, 1, 4 * 1000); Hm, shouldn't we do an unconditionaly sleep for 4s, and _then_ recheck that content protection is still on? Otherwise I think this will succeed immediately. Also wondering whether we should make this a new subtest, using the flag idea I described for patch 2. There's ofc some overlap, but that's hard to avoid with black box testing like we do in igt. -Daniel > + igt_assert_f(!ret, "Content Protection LIC Failed\n"); > +} > > static void test_content_protection_on_output(igt_output_t *output, > enum igt_commit_style s) > @@ -237,6 +245,7 @@ static void test_content_protection_on_output(igt_output_t *output, > > modeset_with_fb(pipe, output, s); > test_cp_enable_with_retry(output, s, 3); > + test_cp_lic(output); > test_cp_disable(output, s); > > primary = igt_output_get_plane_type(output, > -- > 2.7.4 >
On 2/7/2019 10:36 PM, Daniel Vetter wrote: > On Thu, Feb 07, 2019 at 09:53:22PM +0530, Ramalingam C wrote: >> Once the HDCP is enabled, kernel will run the link integrity check(LIC) >> atleast once in 2Secs based on the HDCP versions. >> >> So to confirm the link integrity check is passed, we oberve that HDCP >> state remains ENABLED for next 4Secs. >> >> Signed-off-by: Ramalingam C <ramalingam.c@intel.com> >> --- >> tests/kms_content_protection.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c >> index 895e9e8d8b11..7a6450539f5d 100644 >> --- a/tests/kms_content_protection.c >> +++ b/tests/kms_content_protection.c >> @@ -214,6 +214,14 @@ static bool igt_pipe_is_free(igt_display_t *display, enum pipe pipe) >> return true; >> } >> >> +static void test_cp_lic(igt_output_t *output) >> +{ >> + bool ret; >> + >> + /* Wait for 4Secs (min 2 cycles of Link Integrity Check) */ >> + ret = wait_for_prop_value(output, 1, 4 * 1000); > Hm, shouldn't we do an unconditionaly sleep for 4s, and _then_ recheck > that content protection is still on? Otherwise I think this will succeed > immediately. This wont as we are monitoring for DESIRED state till 4Sec. This will help us to quit as soon as link is broken instead of waiting for 4Sec completely. > > Also wondering whether we should make this a new subtest, using the flag > idea I described for patch 2. There's ofc some overlap, but that's hard to > avoid with black box testing like we do in igt. But LIC is part of HDCP enablement. Should be part of HDCP_enable than a separate subtest. I prefer not to make it as separate subtest. --Ram > -Daniel > >> + igt_assert_f(!ret, "Content Protection LIC Failed\n"); >> +} >> >> static void test_content_protection_on_output(igt_output_t *output, >> enum igt_commit_style s) >> @@ -237,6 +245,7 @@ static void test_content_protection_on_output(igt_output_t *output, >> >> modeset_with_fb(pipe, output, s); >> test_cp_enable_with_retry(output, s, 3); >> + test_cp_lic(output); >> test_cp_disable(output, s); >> >> primary = igt_output_get_plane_type(output, >> -- >> 2.7.4 >>
Once the HDCP is enabled, kernel will run the link integrity check(LIC) atleast once in 2Secs based on the HDCP versions. So to confirm the link integrity check is passed, we oberve that HDCP state remains ENABLED for next 4Secs. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> --- tests/kms_content_protection.c | 9 +++++++++ 1 file changed, 9 insertions(+)