On Thu, Aug 20, 2026 at 3:30 PM Mario Limonciello <[email protected]> wrote:
>
> On 8/20/26 09:28, Rodrigo Vivi wrote:
> > parse_hdmi_amd_vsdb() was removed when HDMI FreeSync detection moved to
> > the common EDID parser, but its declaration and KUnit tests remained,
> > breaking modpost:
> >
> >    ERROR: modpost: "parse_hdmi_amd_vsdb" [...connector_test.ko] undefined!
> >
> > Remove the stale declaration and the three dead test cases.
> >
> > Fixes: f65198b3d073 ("drm/amd/display: Use HDMI FreeSync range from common 
> > EDID parser")
> > Cc: Alex Huang <[email protected]>
> > Cc: Mario Limonciello <[email protected]>
> > Assisted-by: Copilot:Claude-Opus-5
> > Signed-off-by: Rodrigo Vivi <[email protected]>
> > ---
> Thanks this looks correct to me.
>
> Reviewed-by: Mario Limonciello (AMD) <[email protected]>
>
> I'm not sure where we should apply it though, it's from a conflict
> between drm-misc-next and Alex's drm-next pull.

I'll pull it into my next -fixes PR.

Alex

> >   .../display/amdgpu_dm/amdgpu_dm_connector.h   |  3 -
> >   .../tests/amdgpu_dm_connector_test.c          | 73 -------------------
> >   2 files changed, 76 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.h 
> > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.h
> > index 4e9eb3ff2c90..ce900844602e 100644
> > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.h
> > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.h
> > @@ -153,9 +153,6 @@ void parse_edid_displayid_vrr(struct drm_connector 
> > *connector,
> >                             const struct edid *edid);
> >   int get_amd_vsdb(struct amdgpu_dm_connector *aconnector,
> >                struct amdgpu_hdmi_vsdb_info *vsdb_info);
> > -int parse_hdmi_amd_vsdb(struct amdgpu_dm_connector *aconnector,
> > -                     const struct edid *edid,
> > -                     struct amdgpu_hdmi_vsdb_info *vsdb_info);
> >   void amdgpu_dm_connector_funcs_force(struct drm_connector *connector);
> >   enum dc_status dm_validate_stream_and_context(struct dc *dc,
> >                                             struct dc_stream_state *stream);
> > diff --git 
> > a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c 
> > b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c
> > index a54fd9529dc9..83d3be543202 100644
> > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c
> > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c
> > @@ -4874,75 +4874,6 @@ static void dm_test_get_amd_vsdb_supported(struct 
> > kunit *test)
> >       KUNIT_EXPECT_TRUE(test, vsdb_info.replay_mode);
> >   }
> >
> > -/**
> > - * dm_test_parse_hdmi_amd_vsdb_null_edid - Test NULL EDID returns -ENODEV
> > - * @test: The KUnit test context
> > - */
> > -static void dm_test_parse_hdmi_amd_vsdb_null_edid(struct kunit *test)
> > -{
> > -     struct amdgpu_dm_connector *aconnector;
> > -     struct amdgpu_hdmi_vsdb_info vsdb_info = {0};
> > -
> > -     aconnector = kunit_kzalloc(test, sizeof(*aconnector), GFP_KERNEL);
> > -     KUNIT_ASSERT_NOT_NULL(test, aconnector);
> > -
> > -     KUNIT_EXPECT_EQ(test,
> > -                     parse_hdmi_amd_vsdb(aconnector, NULL, &vsdb_info),
> > -                     -ENODEV);
> > -}
> > -
> > -/**
> > - * dm_test_parse_hdmi_amd_vsdb_no_extensions - Test EDID without extensions
> > - * @test: The KUnit test context
> > - *
> > - * An EDID that declares no extension blocks has no CEA block to parse.
> > - */
> > -static void dm_test_parse_hdmi_amd_vsdb_no_extensions(struct kunit *test)
> > -{
> > -     struct amdgpu_dm_connector *aconnector;
> > -     struct amdgpu_hdmi_vsdb_info vsdb_info = {0};
> > -     struct edid *edid;
> > -
> > -     aconnector = kunit_kzalloc(test, sizeof(*aconnector), GFP_KERNEL);
> > -     KUNIT_ASSERT_NOT_NULL(test, aconnector);
> > -     edid = kunit_kzalloc(test, sizeof(*edid), GFP_KERNEL);
> > -     KUNIT_ASSERT_NOT_NULL(test, edid);
> > -
> > -     edid->extensions = 0;
> > -
> > -     KUNIT_EXPECT_EQ(test,
> > -                     parse_hdmi_amd_vsdb(aconnector, edid, &vsdb_info),
> > -                     -ENODEV);
> > -}
> > -
> > -/**
> > - * dm_test_parse_hdmi_amd_vsdb_no_cea_ext - Test EDID with no CEA extension
> > - * @test: The KUnit test context
> > - *
> > - * An extension block that is not a CEA block leaves no VSDB to parse.
> > - */
> > -static void dm_test_parse_hdmi_amd_vsdb_no_cea_ext(struct kunit *test)
> > -{
> > -     struct amdgpu_dm_connector *aconnector;
> > -     struct amdgpu_hdmi_vsdb_info vsdb_info = {0};
> > -     struct edid *edid;
> > -     u8 *raw;
> > -
> > -     aconnector = kunit_kzalloc(test, sizeof(*aconnector), GFP_KERNEL);
> > -     KUNIT_ASSERT_NOT_NULL(test, aconnector);
> > -
> > -     /* Base block + one extension block that is NOT a CEA extension. */
> > -     raw = kunit_kzalloc(test, 2 * EDID_LENGTH, GFP_KERNEL);
> > -     KUNIT_ASSERT_NOT_NULL(test, raw);
> > -     edid = (struct edid *)raw;
> > -     edid->extensions = 1;
> > -     raw[EDID_LENGTH] = DM_TEST_DISPLAYID_EXT;
> > -
> > -     KUNIT_EXPECT_EQ(test,
> > -                     parse_hdmi_amd_vsdb(aconnector, edid, &vsdb_info),
> > -                     -ENODEV);
> > -}
> > -
> >   /**
> >    * dm_test_parse_displayid_vrr_null_edid - Test NULL EDID leaves range 
> > untouched
> >    * @test: The KUnit test context
> > @@ -5647,10 +5578,6 @@ static struct kunit_case amdgpu_dm_connector_tests[] 
> > = {
> >       /* get_amd_vsdb */
> >       KUNIT_CASE(dm_test_get_amd_vsdb_unsupported),
> >       KUNIT_CASE(dm_test_get_amd_vsdb_supported),
> > -     /* parse_hdmi_amd_vsdb */
> > -     KUNIT_CASE(dm_test_parse_hdmi_amd_vsdb_null_edid),
> > -     KUNIT_CASE(dm_test_parse_hdmi_amd_vsdb_no_extensions),
> > -     KUNIT_CASE(dm_test_parse_hdmi_amd_vsdb_no_cea_ext),
> >       /* parse_edid_displayid_vrr */
> >       KUNIT_CASE(dm_test_parse_displayid_vrr_null_edid),
> >       KUNIT_CASE(dm_test_parse_displayid_vrr_no_displayid),
>

Reply via email to