AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
  • * [PATCH AUTOSEL 4.19 09/42] drm/amd/display: Fix dc_create failure handling and 666 color depths
           [not found] <20190802132302.13537-1-sashal@kernel.org>
           [not found] ` <20190802132302.13537-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    @ 2019-08-02 13:22 ` Sasha Levin
      2019-08-02 13:22 ` [PATCH AUTOSEL 4.19 11/42] drm/amd/display: Increase size of audios array Sasha Levin
      2 siblings, 0 replies; 5+ messages in thread
    From: Sasha Levin @ 2019-08-02 13:22 UTC (permalink / raw)
      To: linux-kernel, stable
      Cc: Sasha Levin, Charlene Liu, Leo Li, Julian Parkin, amd-gfx,
    	dri-devel, Alex Deucher
    
    From: Julian Parkin <julian.parkin@amd.com>
    
    [ Upstream commit 0905f32977268149f06e3ce6ea4bd6d374dd891f ]
    
    [Why]
    It is possible (but very unlikely) that constructing dc fails
    before current_state is created.
    
    We support 666 color depth in some scenarios, but this
    isn't handled in get_norm_pix_clk. It uses exactly the
    same pixel clock as the 888 case.
    
    [How]
    Check for non null current_state before destructing.
    
    Add case for 666 color depth to get_norm_pix_clk to
    avoid assertion.
    
    Signed-off-by: Julian Parkin <julian.parkin@amd.com>
    Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
    Acked-by: Leo Li <sunpeng.li@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
     drivers/gpu/drm/amd/display/dc/core/dc.c          | 6 ++++--
     drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 1 +
     2 files changed, 5 insertions(+), 2 deletions(-)
    
    diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
    index e3f5e5d6f0c18..f4b89d1ea6f6f 100644
    --- a/drivers/gpu/drm/amd/display/dc/core/dc.c
    +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
    @@ -462,8 +462,10 @@ void dc_link_set_test_pattern(struct dc_link *link,
     
     static void destruct(struct dc *dc)
     {
    -	dc_release_state(dc->current_state);
    -	dc->current_state = NULL;
    +	if (dc->current_state) {
    +		dc_release_state(dc->current_state);
    +		dc->current_state = NULL;
    +	}
     
     	destroy_links(dc);
     
    diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
    index 06d5988dff723..19a951e5818ac 100644
    --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
    +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
    @@ -1872,6 +1872,7 @@ static int get_norm_pix_clk(const struct dc_crtc_timing *timing)
     		pix_clk /= 2;
     	if (timing->pixel_encoding != PIXEL_ENCODING_YCBCR422) {
     		switch (timing->display_color_depth) {
    +		case COLOR_DEPTH_666:
     		case COLOR_DEPTH_888:
     			normalized_pix_clk = pix_clk;
     			break;
    -- 
    2.20.1
    
    _______________________________________________
    dri-devel mailing list
    dri-devel@lists.freedesktop.org
    https://lists.freedesktop.org/mailman/listinfo/dri-devel
    
    ^ permalink raw reply related	[flat|nested] 5+ messages in thread
  • * [PATCH AUTOSEL 4.19 11/42] drm/amd/display: Increase size of audios array
           [not found] <20190802132302.13537-1-sashal@kernel.org>
           [not found] ` <20190802132302.13537-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
      2019-08-02 13:22 ` [PATCH AUTOSEL 4.19 09/42] drm/amd/display: Fix dc_create failure handling and 666 color depths Sasha Levin
    @ 2019-08-02 13:22 ` Sasha Levin
      2 siblings, 0 replies; 5+ messages in thread
    From: Sasha Levin @ 2019-08-02 13:22 UTC (permalink / raw)
      To: linux-kernel, stable
      Cc: Sasha Levin, Joshua Aberback, Leo Li, amd-gfx, Tai Man, dri-devel,
    	Alex Deucher
    
    From: Tai Man <taiman.wong@amd.com>
    
    [ Upstream commit 7352193a33dfc9b69ba3bf6a8caea925b96243b1 ]
    
    [Why]
    The audios array defined in "struct resource_pool" is only 6 (MAX_PIPES)
    but the max number of audio devices (num_audio) is 7. In some projects,
    it will run out of audios array.
    
    [How]
    Incraese the audios array size to 7.
    
    Signed-off-by: Tai Man <taiman.wong@amd.com>
    Reviewed-by: Joshua Aberback <Joshua.Aberback@amd.com>
    Acked-by: Leo Li <sunpeng.li@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
     drivers/gpu/drm/amd/display/dc/inc/core_types.h   | 2 +-
     drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h | 1 +
     2 files changed, 2 insertions(+), 1 deletion(-)
    
    diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_types.h b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
    index c0b9ca13393b6..f4469fa5afb55 100644
    --- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h
    +++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
    @@ -159,7 +159,7 @@ struct resource_pool {
     	struct clock_source *clock_sources[MAX_CLOCK_SOURCES];
     	unsigned int clk_src_count;
     
    -	struct audio *audios[MAX_PIPES];
    +	struct audio *audios[MAX_AUDIOS];
     	unsigned int audio_count;
     	struct audio_support audio_support;
     
    diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h b/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
    index cf7433ebf91a0..71901743a9387 100644
    --- a/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
    +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
    @@ -34,6 +34,7 @@
      * Data types shared between different Virtual HW blocks
      ******************************************************************************/
     
    +#define MAX_AUDIOS 7
     #define MAX_PIPES 6
     
     struct gamma_curve {
    -- 
    2.20.1
    
    _______________________________________________
    dri-devel mailing list
    dri-devel@lists.freedesktop.org
    https://lists.freedesktop.org/mailman/listinfo/dri-devel
    
    ^ permalink raw reply related	[flat|nested] 5+ messages in thread

  • end of thread, other threads:[~2019-08-02 13:22 UTC | newest]
    
    Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20190802132302.13537-1-sashal@kernel.org>
         [not found] ` <20190802132302.13537-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    2019-08-02 13:22   ` [PATCH AUTOSEL 4.19 07/42] drm/amd/display: Wait for backlight programming completion in set backlight level Sasha Levin
    2019-08-02 13:22   ` [PATCH AUTOSEL 4.19 08/42] drm/amd/display: use encoder's engine id to find matched free audio device Sasha Levin
    2019-08-02 13:22   ` [PATCH AUTOSEL 4.19 10/42] drm/amd/display: Only enable audio if speaker allocation exists Sasha Levin
    2019-08-02 13:22 ` [PATCH AUTOSEL 4.19 09/42] drm/amd/display: Fix dc_create failure handling and 666 color depths Sasha Levin
    2019-08-02 13:22 ` [PATCH AUTOSEL 4.19 11/42] drm/amd/display: Increase size of audios array Sasha Levin
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox