Merge tag 'drm-misc-next-2019-01-16' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.1: UAPI Changes: - New fourcc identifier for ARM Framebuffer Compression v1.3 Cross-subsystem Changes: Core Changes: - Reorganisation of drm_device and drm_framebuffer headers - Cleanup of the drmP inclusion - Fix leaks in the fb-helpers - Allow for depth different from bpp in fb-helper fbdev emulation - Remove drm_mode_object from drm_display_mode Driver Changes: - Add reflection properties to rockchip - a bunch of fixes for virtio - a bunch of fixes for dp_mst and drivers using it, and introduction of a new refcounting scheme - Convertion of bochs to atomic and generic fbdev emulation - Allow meson to remove the firmware framebuffers [airlied: patch rcar-du to add drm_modes.h] Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190116200428.u2n4jbk4mzza7n6e@flea
This commit is contained in:
@@ -1094,8 +1094,9 @@ static void anx78xx_bridge_mode_set(struct drm_bridge *bridge,
|
||||
|
||||
mutex_lock(&anx78xx->lock);
|
||||
|
||||
err = drm_hdmi_avi_infoframe_from_display_mode(&frame, adjusted_mode,
|
||||
false);
|
||||
err = drm_hdmi_avi_infoframe_from_display_mode(&frame,
|
||||
&anx78xx->connector,
|
||||
adjusted_mode);
|
||||
if (err) {
|
||||
DRM_ERROR("Failed to setup AVI infoframe: %d\n", err);
|
||||
goto unlock;
|
||||
|
@@ -134,8 +134,8 @@ static const struct drm_bridge_funcs panel_bridge_bridge_funcs = {
|
||||
};
|
||||
|
||||
/**
|
||||
* drm_panel_bridge_add - Creates a drm_bridge and drm_connector that
|
||||
* just calls the appropriate functions from drm_panel.
|
||||
* drm_panel_bridge_add - Creates a &drm_bridge and &drm_connector that
|
||||
* just calls the appropriate functions from &drm_panel.
|
||||
*
|
||||
* @panel: The drm_panel being wrapped. Must be non-NULL.
|
||||
* @connector_type: The DRM_MODE_CONNECTOR_* for the connector to be
|
||||
@@ -149,9 +149,12 @@ static const struct drm_bridge_funcs panel_bridge_bridge_funcs = {
|
||||
* passed to drm_bridge_attach(). The drm_panel_prepare() and related
|
||||
* functions can be dropped from the encoder driver (they're now
|
||||
* called by the KMS helpers before calling into the encoder), along
|
||||
* with connector creation. When done with the bridge,
|
||||
* drm_bridge_detach() should be called as normal, then
|
||||
* with connector creation. When done with the bridge (after
|
||||
* drm_mode_config_cleanup() if the bridge has already been attached), then
|
||||
* drm_panel_bridge_remove() to free it.
|
||||
*
|
||||
* See devm_drm_panel_bridge_add() for an automatically manged version of this
|
||||
* function.
|
||||
*/
|
||||
struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel,
|
||||
u32 connector_type)
|
||||
@@ -210,6 +213,17 @@ static void devm_drm_panel_bridge_release(struct device *dev, void *res)
|
||||
drm_panel_bridge_remove(*bridge);
|
||||
}
|
||||
|
||||
/**
|
||||
* devm_drm_panel_bridge_add - Creates a managed &drm_bridge and &drm_connector
|
||||
* that just calls the appropriate functions from &drm_panel.
|
||||
* @dev: device to tie the bridge lifetime to
|
||||
* @panel: The drm_panel being wrapped. Must be non-NULL.
|
||||
* @connector_type: The DRM_MODE_CONNECTOR_* for the connector to be
|
||||
* created.
|
||||
*
|
||||
* This is the managed version of drm_panel_bridge_add() which automatically
|
||||
* calls drm_panel_bridge_remove() when @dev is unbound.
|
||||
*/
|
||||
struct drm_bridge *devm_drm_panel_bridge_add(struct device *dev,
|
||||
struct drm_panel *panel,
|
||||
u32 connector_type)
|
||||
|
@@ -258,7 +258,8 @@ static void sii902x_bridge_mode_set(struct drm_bridge *bridge,
|
||||
if (ret)
|
||||
return;
|
||||
|
||||
ret = drm_hdmi_avi_infoframe_from_display_mode(&frame, adj, false);
|
||||
ret = drm_hdmi_avi_infoframe_from_display_mode(&frame,
|
||||
&sii902x->connector, adj);
|
||||
if (ret < 0) {
|
||||
DRM_ERROR("couldn't fill AVI infoframe\n");
|
||||
return;
|
||||
|
@@ -1104,8 +1104,7 @@ static void sii8620_set_infoframes(struct sii8620 *ctx,
|
||||
int ret;
|
||||
|
||||
ret = drm_hdmi_avi_infoframe_from_display_mode(&frm.avi,
|
||||
mode,
|
||||
true);
|
||||
NULL, mode);
|
||||
if (ctx->use_packed_pixel)
|
||||
frm.avi.colorspace = HDMI_COLORSPACE_YUV422;
|
||||
|
||||
|
@@ -5,6 +5,10 @@
|
||||
* Copyright (c) 2017 Renesas Solutions Corp.
|
||||
* Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
*/
|
||||
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <drm/bridge/dw_hdmi.h>
|
||||
|
||||
#include <sound/hdmi-codec.h>
|
||||
|
@@ -1344,7 +1344,8 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
|
||||
u8 val;
|
||||
|
||||
/* Initialise info frame from DRM mode */
|
||||
drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, false);
|
||||
drm_hdmi_avi_infoframe_from_display_mode(&frame,
|
||||
&hdmi->connector, mode);
|
||||
|
||||
if (hdmi_bus_fmt_is_yuv444(hdmi->hdmi_data.enc_out_bus_format))
|
||||
frame.colorspace = HDMI_COLORSPACE_YUV444;
|
||||
|
Reference in New Issue
Block a user