X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0652-drm-connector-Allow-creation-of-margin-props-alone.patch;fp=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0652-drm-connector-Allow-creation-of-margin-props-alone.patch;h=0000000000000000000000000000000000000000;hb=c2308a7e4adbb2acc8ff149f91d1ca46801c135e;hp=1b242f46e313ee8dd48a8d2356e8a5abe5cb076c;hpb=67dcc43f3a22dc3a7ac07a7065971b426feeb043;p=openwrt%2Fstaging%2Fchunkeey.git diff --git a/target/linux/brcm2708/patches-4.19/950-0652-drm-connector-Allow-creation-of-margin-props-alone.patch b/target/linux/brcm2708/patches-4.19/950-0652-drm-connector-Allow-creation-of-margin-props-alone.patch deleted file mode 100644 index 1b242f46e3..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0652-drm-connector-Allow-creation-of-margin-props-alone.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 4f2277b18d6bbb6fac50b751c4e513619849b23c Mon Sep 17 00:00:00 2001 -From: Boris Brezillon -Date: Thu, 6 Dec 2018 15:24:37 +0100 -Subject: [PATCH] drm/connector: Allow creation of margin props alone - -Commit 6c4f52dca36f5e3e2354c30591d38e92f4657ed9 upstream. - -TV margins properties can only be added as part of the SDTV TV -connector properties creation, but we might need those props for HDMI -TVs too, so let's move the margins props creation in a separate -function and expose it to drivers. - -We also add an helper to attach margins props to a connector. - -Signed-off-by: Boris Brezillon -Reviewed-by: Eric Anholt -Acked-by: Daniel Vetter -Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-4-boris.brezillon@bootlin.com ---- - drivers/gpu/drm/drm_connector.c | 83 ++++++++++++++++++++++++++------- - include/drm/drm_connector.h | 2 + - 2 files changed, 67 insertions(+), 18 deletions(-) - ---- a/drivers/gpu/drm/drm_connector.c -+++ b/drivers/gpu/drm/drm_connector.c -@@ -1110,6 +1110,70 @@ void drm_hdmi_avi_infoframe_content_type - EXPORT_SYMBOL(drm_hdmi_avi_infoframe_content_type); - - /** -+ * drm_mode_attach_tv_margin_properties - attach TV connector margin properties -+ * @connector: DRM connector -+ * -+ * Called by a driver when it needs to attach TV margin props to a connector. -+ * Typically used on SDTV and HDMI connectors. -+ */ -+void drm_connector_attach_tv_margin_properties(struct drm_connector *connector) -+{ -+ struct drm_device *dev = connector->dev; -+ -+ drm_object_attach_property(&connector->base, -+ dev->mode_config.tv_left_margin_property, -+ 0); -+ drm_object_attach_property(&connector->base, -+ dev->mode_config.tv_right_margin_property, -+ 0); -+ drm_object_attach_property(&connector->base, -+ dev->mode_config.tv_top_margin_property, -+ 0); -+ drm_object_attach_property(&connector->base, -+ dev->mode_config.tv_bottom_margin_property, -+ 0); -+} -+EXPORT_SYMBOL(drm_connector_attach_tv_margin_properties); -+ -+/** -+ * drm_mode_create_tv_margin_properties - create TV connector margin properties -+ * @dev: DRM device -+ * -+ * Called by a driver's HDMI connector initialization routine, this function -+ * creates the TV margin properties for a given device. No need to call this -+ * function for an SDTV connector, it's already called from -+ * drm_mode_create_tv_properties(). -+ */ -+int drm_mode_create_tv_margin_properties(struct drm_device *dev) -+{ -+ if (dev->mode_config.tv_left_margin_property) -+ return 0; -+ -+ dev->mode_config.tv_left_margin_property = -+ drm_property_create_range(dev, 0, "left margin", 0, 100); -+ if (!dev->mode_config.tv_left_margin_property) -+ return -ENOMEM; -+ -+ dev->mode_config.tv_right_margin_property = -+ drm_property_create_range(dev, 0, "right margin", 0, 100); -+ if (!dev->mode_config.tv_right_margin_property) -+ return -ENOMEM; -+ -+ dev->mode_config.tv_top_margin_property = -+ drm_property_create_range(dev, 0, "top margin", 0, 100); -+ if (!dev->mode_config.tv_top_margin_property) -+ return -ENOMEM; -+ -+ dev->mode_config.tv_bottom_margin_property = -+ drm_property_create_range(dev, 0, "bottom margin", 0, 100); -+ if (!dev->mode_config.tv_bottom_margin_property) -+ return -ENOMEM; -+ -+ return 0; -+} -+EXPORT_SYMBOL(drm_mode_create_tv_margin_properties); -+ -+/** - * drm_mode_create_tv_properties - create TV specific connector properties - * @dev: DRM device - * @num_modes: number of different TV formats (modes) supported -@@ -1155,24 +1219,7 @@ int drm_mode_create_tv_properties(struct - /* - * Other, TV specific properties: margins & TV modes. - */ -- dev->mode_config.tv_left_margin_property = -- drm_property_create_range(dev, 0, "left margin", 0, 100); -- if (!dev->mode_config.tv_left_margin_property) -- goto nomem; -- -- dev->mode_config.tv_right_margin_property = -- drm_property_create_range(dev, 0, "right margin", 0, 100); -- if (!dev->mode_config.tv_right_margin_property) -- goto nomem; -- -- dev->mode_config.tv_top_margin_property = -- drm_property_create_range(dev, 0, "top margin", 0, 100); -- if (!dev->mode_config.tv_top_margin_property) -- goto nomem; -- -- dev->mode_config.tv_bottom_margin_property = -- drm_property_create_range(dev, 0, "bottom margin", 0, 100); -- if (!dev->mode_config.tv_bottom_margin_property) -+ if (drm_mode_create_tv_margin_properties(dev)) - goto nomem; - - dev->mode_config.tv_mode_property = ---- a/include/drm/drm_connector.h -+++ b/include/drm/drm_connector.h -@@ -1175,9 +1175,11 @@ const char *drm_get_tv_select_name(int v - const char *drm_get_content_protection_name(int val); - - int drm_mode_create_dvi_i_properties(struct drm_device *dev); -+int drm_mode_create_tv_margin_properties(struct drm_device *dev); - int drm_mode_create_tv_properties(struct drm_device *dev, - unsigned int num_modes, - const char * const modes[]); -+void drm_connector_attach_tv_margin_properties(struct drm_connector *conn); - int drm_mode_create_scaling_mode_property(struct drm_device *dev); - int drm_connector_attach_content_type_property(struct drm_connector *dev); - int drm_connector_attach_scaling_mode_property(struct drm_connector *connector,