diff options
| -rw-r--r-- | drivers/gpu/drm/drm_dp_helper.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/rockchip/Kconfig | 19 | ||||
| -rw-r--r-- | drivers/gpu/host1x/dev.c | 8 | 
3 files changed, 19 insertions, 13 deletions
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c index 213fb837e1c4..08af8d6b844b 100644 --- a/drivers/gpu/drm/drm_dp_helper.c +++ b/drivers/gpu/drm/drm_dp_helper.c @@ -544,7 +544,7 @@ void drm_dp_downstream_debug(struct seq_file *m,  				 DP_DETAILED_CAP_INFO_AVAILABLE;  	int clk;  	int bpc; -	char id[6]; +	char id[7];  	int len;  	uint8_t rev[2];  	int type = port_cap[0] & DP_DS_PORT_TYPE_MASK; @@ -583,6 +583,7 @@ void drm_dp_downstream_debug(struct seq_file *m,  		seq_puts(m, "\t\tType: N/A\n");  	} +	memset(id, 0, sizeof(id));  	drm_dp_downstream_id(aux, id);  	seq_printf(m, "\t\tID: %s\n", id); @@ -591,7 +592,7 @@ void drm_dp_downstream_debug(struct seq_file *m,  		seq_printf(m, "\t\tHW: %d.%d\n",  			   (rev[0] & 0xf0) >> 4, rev[0] & 0xf); -	len = drm_dp_dpcd_read(aux, DP_BRANCH_SW_REV, &rev, 2); +	len = drm_dp_dpcd_read(aux, DP_BRANCH_SW_REV, rev, 2);  	if (len > 0)  		seq_printf(m, "\t\tSW: %d.%d\n", rev[0], rev[1]); diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig index 50c41c0a50ef..dcc539ba85d6 100644 --- a/drivers/gpu/drm/rockchip/Kconfig +++ b/drivers/gpu/drm/rockchip/Kconfig @@ -5,6 +5,10 @@ config DRM_ROCKCHIP  	select DRM_KMS_HELPER  	select DRM_PANEL  	select VIDEOMODE_HELPERS +	select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP +	select DRM_DW_HDMI if ROCKCHIP_DW_HDMI +	select DRM_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI +	select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC  	help  	  Choose this option if you have a Rockchip soc chipset.  	  This driver provides kernel mode setting and buffer @@ -12,10 +16,10 @@ config DRM_ROCKCHIP  	  2D or 3D acceleration; acceleration is performed by other  	  IP found on the SoC. +if DRM_ROCKCHIP +  config ROCKCHIP_ANALOGIX_DP  	bool "Rockchip specific extensions for Analogix DP driver" -	depends on DRM_ROCKCHIP -	select DRM_ANALOGIX_DP  	help  	  This selects support for Rockchip SoC specific extensions  	  for the Analogix Core DP driver. If you want to enable DP @@ -23,9 +27,7 @@ config ROCKCHIP_ANALOGIX_DP  config ROCKCHIP_CDN_DP          bool "Rockchip cdn DP" -        depends on DRM_ROCKCHIP -	depends on EXTCON -	select SND_SOC_HDMI_CODEC if SND_SOC +	depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m)          help  	  This selects support for Rockchip SoC specific extensions  	  for the cdn DP driver. If you want to enable Dp on @@ -34,8 +36,6 @@ config ROCKCHIP_CDN_DP  config ROCKCHIP_DW_HDMI          bool "Rockchip specific extensions for Synopsys DW HDMI" -        depends on DRM_ROCKCHIP -        select DRM_DW_HDMI          help  	  This selects support for Rockchip SoC specific extensions  	  for the Synopsys DesignWare HDMI driver. If you want to @@ -44,8 +44,6 @@ config ROCKCHIP_DW_HDMI  config ROCKCHIP_DW_MIPI_DSI  	bool "Rockchip specific extensions for Synopsys DW MIPI DSI" -	depends on DRM_ROCKCHIP -	select DRM_MIPI_DSI  	help  	 This selects support for Rockchip SoC specific extensions  	 for the Synopsys DesignWare HDMI driver. If you want to @@ -54,8 +52,9 @@ config ROCKCHIP_DW_MIPI_DSI  config ROCKCHIP_INNO_HDMI  	bool "Rockchip specific extensions for Innosilicon HDMI" -	depends on DRM_ROCKCHIP  	help  	  This selects support for Rockchip SoC specific extensions  	  for the Innosilicon HDMI driver. If you want to enable  	  HDMI on RK3036 based SoC, you should select this option. + +endif diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c index 2c58a390123a..778272514164 100644 --- a/drivers/gpu/host1x/dev.c +++ b/drivers/gpu/host1x/dev.c @@ -186,8 +186,13 @@ static int host1x_probe(struct platform_device *pdev)  			return -ENOMEM;  		err = iommu_attach_device(host->domain, &pdev->dev); -		if (err) +		if (err == -ENODEV) { +			iommu_domain_free(host->domain); +			host->domain = NULL; +			goto skip_iommu; +		} else if (err) {  			goto fail_free_domain; +		}  		geometry = &host->domain->geometry; @@ -198,6 +203,7 @@ static int host1x_probe(struct platform_device *pdev)  		host->iova_end = geometry->aperture_end;  	} +skip_iommu:  	err = host1x_channel_list_init(&host->channel_list,  				       host->info->nb_channels);  	if (err) {  | 
