Merge tag 'drm-misc-next-2020-06-26' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v5.9: Cross-subsystem Changes: - Improve dma-buf docs. Core Changes: - Add NV15, Q410, Q401 yuv formats. - Add uncompressed AFBC modifier. - Add DP helepr for reading Ignore MSA from DPCD. - Add missing panel type for some panels - Optimize drm/mm hole handling. - Constify connector to infoframe functions. - Add debugfs for VRR monitor range. Driver Changes: - Assorted small bugfixes in panfrost, malidp, panel/otm8009a. - Convert tfp410 dt bindings to yaml, and rework time calculations. - Add support for a few more simple panels. - Cleanups and optimizations for ast. - Allow adv7511 and simple-bridge to be used without connector creation. - Cleanups to dw-hdmi function prototypes. - Remove enabled bool from tiny/repaper and mipi-dbi, atomic handles it. - Remove unused header file from dw-mipi-dsi - Begin removing ttm_bo->offset. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/b1e53620-7937-895c-bfcf-ed208be59c7c@linux.intel.com
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
|
||||
#include <sound/hdmi-codec.h>
|
||||
|
||||
struct drm_connector;
|
||||
struct drm_display_info;
|
||||
struct drm_display_mode;
|
||||
struct drm_encoder;
|
||||
struct dw_hdmi;
|
||||
@ -114,7 +114,8 @@ struct dw_hdmi_phy_config {
|
||||
|
||||
struct dw_hdmi_phy_ops {
|
||||
int (*init)(struct dw_hdmi *hdmi, void *data,
|
||||
struct drm_display_mode *mode);
|
||||
const struct drm_display_info *display,
|
||||
const struct drm_display_mode *mode);
|
||||
void (*disable)(struct dw_hdmi *hdmi, void *data);
|
||||
enum drm_connector_status (*read_hpd)(struct dw_hdmi *hdmi, void *data);
|
||||
void (*update_hpd)(struct dw_hdmi *hdmi, void *data,
|
||||
@ -124,13 +125,22 @@ struct dw_hdmi_phy_ops {
|
||||
|
||||
struct dw_hdmi_plat_data {
|
||||
struct regmap *regm;
|
||||
enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
|
||||
const struct drm_display_mode *mode);
|
||||
unsigned long input_bus_format;
|
||||
|
||||
unsigned long input_bus_encoding;
|
||||
bool use_drm_infoframe;
|
||||
bool ycbcr_420_allowed;
|
||||
|
||||
/*
|
||||
* Private data passed to all the .mode_valid() and .configure_phy()
|
||||
* callback functions.
|
||||
*/
|
||||
void *priv_data;
|
||||
|
||||
/* Platform-specific mode validation (optional). */
|
||||
enum drm_mode_status (*mode_valid)(struct dw_hdmi *hdmi, void *data,
|
||||
const struct drm_display_info *info,
|
||||
const struct drm_display_mode *mode);
|
||||
|
||||
/* Vendor PHY support */
|
||||
const struct dw_hdmi_phy_ops *phy_ops;
|
||||
const char *phy_name;
|
||||
@ -141,8 +151,7 @@ struct dw_hdmi_plat_data {
|
||||
const struct dw_hdmi_mpll_config *mpll_cfg;
|
||||
const struct dw_hdmi_curr_ctrl *cur_ctr;
|
||||
const struct dw_hdmi_phy_config *phy_config;
|
||||
int (*configure_phy)(struct dw_hdmi *hdmi,
|
||||
const struct dw_hdmi_plat_data *pdata,
|
||||
int (*configure_phy)(struct dw_hdmi *hdmi, void *data,
|
||||
unsigned long mpixelclock);
|
||||
};
|
||||
|
||||
@ -166,7 +175,8 @@ void dw_hdmi_set_channel_status(struct dw_hdmi *hdmi, u8 *channel_status);
|
||||
void dw_hdmi_set_channel_allocation(struct dw_hdmi *hdmi, unsigned int ca);
|
||||
void dw_hdmi_audio_enable(struct dw_hdmi *hdmi);
|
||||
void dw_hdmi_audio_disable(struct dw_hdmi *hdmi);
|
||||
void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi *hdmi);
|
||||
void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi *hdmi,
|
||||
const struct drm_display_info *display);
|
||||
|
||||
/* PHY configuration */
|
||||
void dw_hdmi_phy_i2c_set_addr(struct dw_hdmi *hdmi, u8 address);
|
||||
|
@ -35,6 +35,7 @@
|
||||
struct drm_bridge;
|
||||
struct drm_bridge_timings;
|
||||
struct drm_connector;
|
||||
struct drm_display_info;
|
||||
struct drm_panel;
|
||||
struct edid;
|
||||
struct i2c_adapter;
|
||||
@ -112,6 +113,7 @@ struct drm_bridge_funcs {
|
||||
* drm_mode_status Enum
|
||||
*/
|
||||
enum drm_mode_status (*mode_valid)(struct drm_bridge *bridge,
|
||||
const struct drm_display_info *info,
|
||||
const struct drm_display_mode *mode);
|
||||
|
||||
/**
|
||||
@ -836,6 +838,7 @@ bool drm_bridge_chain_mode_fixup(struct drm_bridge *bridge,
|
||||
struct drm_display_mode *adjusted_mode);
|
||||
enum drm_mode_status
|
||||
drm_bridge_chain_mode_valid(struct drm_bridge *bridge,
|
||||
const struct drm_display_info *info,
|
||||
const struct drm_display_mode *mode);
|
||||
void drm_bridge_chain_disable(struct drm_bridge *bridge);
|
||||
void drm_bridge_chain_post_disable(struct drm_bridge *bridge);
|
||||
|
@ -1457,6 +1457,14 @@ drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
|
||||
DP_ALTERNATE_SCRAMBLER_RESET_CAP;
|
||||
}
|
||||
|
||||
/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */
|
||||
static inline bool
|
||||
drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
|
||||
{
|
||||
return dpcd[DP_DOWN_STREAM_PORT_COUNT] &
|
||||
DP_MSA_TIMING_PAR_IGNORED;
|
||||
}
|
||||
|
||||
/*
|
||||
* DisplayPort AUX channel
|
||||
*/
|
||||
|
@ -361,11 +361,11 @@ drm_load_edid_firmware(struct drm_connector *connector)
|
||||
|
||||
int
|
||||
drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
|
||||
struct drm_connector *connector,
|
||||
const struct drm_connector *connector,
|
||||
const struct drm_display_mode *mode);
|
||||
int
|
||||
drm_hdmi_vendor_infoframe_from_display_mode(struct hdmi_vendor_infoframe *frame,
|
||||
struct drm_connector *connector,
|
||||
const struct drm_connector *connector,
|
||||
const struct drm_display_mode *mode);
|
||||
|
||||
void
|
||||
@ -378,7 +378,7 @@ drm_hdmi_avi_infoframe_bars(struct hdmi_avi_infoframe *frame,
|
||||
|
||||
void
|
||||
drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame,
|
||||
struct drm_connector *connector,
|
||||
const struct drm_connector *connector,
|
||||
const struct drm_display_mode *mode,
|
||||
enum hdmi_quantization_range rgb_quant_range);
|
||||
|
||||
|
@ -94,11 +94,6 @@ struct mipi_dbi_dev {
|
||||
*/
|
||||
struct drm_display_mode mode;
|
||||
|
||||
/**
|
||||
* @enabled: Pipeline is enabled
|
||||
*/
|
||||
bool enabled;
|
||||
|
||||
/**
|
||||
* @tx_buf: Buffer used for transfer (copy clip rect area)
|
||||
*/
|
||||
|
Reference in New Issue
Block a user