[PATCH 2/2] drm/amd/display: make function tables const

Christian König ckoenig.leichtzumerken at gmail.com
Sat Jul 7 12:30:59 UTC 2018


That's a completely different issue. I'm running into it with just a 
Tonga in my system.

According to my bisecting the problematic patch seems to be:
> commit 3fdadbfe1edf4168b2515083af5651c95aeb299d (refs/bisect/bad)
> Author: Rex Zhu <rex.zhu at amd.com>
> Date:   Thu Jul 5 19:22:50 2018 +0800
>
>     drm/amd/pp: Implement get_performance_level for legacy dgpu
>
>     display can get clock info through this function.
>     implement this function for vega10 and old asics.
>     from vega12, there is no power state management,
>     so need to add new interface to notify display
>     the clock info
>
>     Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>     Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>

Please fix and/or revert immediately, cause that is quite a show stopper 
for my testing.

Thanks,
Christian.

Am 07.07.2018 um 03:51 schrieb Zhu, Rex:
>
> Add Michel,
>
>
> seems Michel found a similar issue. Please see the kern.log.
>
>
> Best Regards
>
> Rex
>
>
>
> ------------------------------------------------------------------------
> *From:* amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of 
> Harry Wentland <harry.wentland at amd.com>
> *Sent:* Friday, July 6, 2018 9:32 PM
> *To:* Christian König; amd-gfx at lists.freedesktop.org
> *Cc:* Lipski, Mikita
> *Subject:* Re: [PATCH 2/2] drm/amd/display: make function tables const
> On 2018-07-06 08:22 AM, Christian König wrote:
> > It is good practice to make global function tables const to avoid
> > accidental override.
> >
> > Signed-off-by: Christian König <christian.koenig at amd.com>
>
> Well, this is embarassing. Can't believe I didn't spot this.
>
> Series is
> Reviewed-by: Harry Wentland <harry.wentland at amd.com>
>
> Now I wonder where else we might have this issue. Time to review all 
> of our other function pointers.
>
> Harry
>
> > ---
> > drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c | 6 +++---
> > drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c | 2 +-
> > drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h | 2 +-
> >  3 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c 
> b/drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c
> > index bae752332a9f..85686d917636 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c
> > +++ b/drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c
> > @@ -729,7 +729,7 @@ static bool dce_mi_program_surface_flip_and_addr(
> >        return true;
> >  }
> >
> > -static struct mem_input_funcs dce_mi_funcs = {
> > +static const struct mem_input_funcs dce_mi_funcs = {
> >        .mem_input_program_display_marks = dce_mi_program_display_marks,
> >        .allocate_mem_input = dce_mi_allocate_dmif,
> >        .free_mem_input = dce_mi_free_dmif,
> > @@ -741,7 +741,7 @@ static struct mem_input_funcs dce_mi_funcs = {
> >        .mem_input_is_flip_pending = dce_mi_is_flip_pending
> >  };
> >
> > -static struct mem_input_funcs dce112_mi_funcs = {
> > +static const struct mem_input_funcs dce112_mi_funcs = {
> >        .mem_input_program_display_marks = 
> dce112_mi_program_display_marks,
> >        .allocate_mem_input = dce_mi_allocate_dmif,
> >        .free_mem_input = dce_mi_free_dmif,
> > @@ -753,7 +753,7 @@ static struct mem_input_funcs dce112_mi_funcs = {
> >        .mem_input_is_flip_pending = dce_mi_is_flip_pending
> >  };
> >
> > -static struct mem_input_funcs dce120_mi_funcs = {
> > +static const struct mem_input_funcs dce120_mi_funcs = {
> >        .mem_input_program_display_marks = 
> dce120_mi_program_display_marks,
> >        .allocate_mem_input = dce_mi_allocate_dmif,
> >        .free_mem_input = dce_mi_free_dmif,
> > diff --git 
> a/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c 
> b/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c
> > index 0564c8e31252..9b9fc3d96c07 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c
> > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c
> > @@ -1011,7 +1011,7 @@ void dce110_free_mem_input_v(
> >  {
> >  }
> >
> > -static struct mem_input_funcs dce110_mem_input_v_funcs = {
> > +static const struct mem_input_funcs dce110_mem_input_v_funcs = {
> >        .mem_input_program_display_marks =
> > dce_mem_input_v_program_display_marks,
> >        .mem_input_program_chroma_display_marks =
> > diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h 
> b/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
> > index 47f1dc5a43b7..da89c2edb07c 100644
> > --- a/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
> > +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
> > @@ -64,7 +64,7 @@ struct stutter_modes {
> >  };
> >
> >  struct mem_input {
> > -     struct mem_input_funcs *funcs;
> > +     const struct mem_input_funcs *funcs;
> >        struct dc_context *ctx;
> >        struct dc_plane_address request_address;
> >        struct dc_plane_address current_address;
> >
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> amd-gfx Info Page - freedesktop.org 
> <https://lists.freedesktop.org/mailman/listinfo/amd-gfx>
> lists.freedesktop.org
> Subscribing to amd-gfx: Subscribe to amd-gfx by filling out the 
> following form. Use of all freedesktop.org lists is subject to our 
> Code of Conduct.
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20180707/3fdb041e/attachment.html>


More information about the amd-gfx mailing list