Merge tag 'topic/drm-misc-2016-04-21' of git://anongit.freedesktop.org/drm-intel into drm-next
misc pull req all over. Biggest thing is the drm_connector_(un)register_all cleanup from Alexey for drivers without the load/unload midlayer hooks. I.e. all the new ones, and a bunch of the pending new atomic drivers depend upon this. Or at least I asked them to rebase ;-) * tag 'topic/drm-misc-2016-04-21' of git://anongit.freedesktop.org/drm-intel: drm: Make drm.debug parameter description more helpful drm: Remove warning from drm_connector_unregister_all() drm: probe_helper: Hide ugly ifdef drm: rcar-du: Use generic drm_connector_register_all() helper drm: atmel_hldc: Use generic drm_connector_register_all() helper drm: Introduce drm_connector_register_all() helper drm: fix lut value extraction function drm/atomic-helper: Print an error if vblank wait times out drm/dp/mst: Restore primary hub guid on resume drm: Release driver references to handle before making it available again drm/i915/dp/mst: Add source port info to debugfs output drm/dp/mst: Enhance DP MST debugfs output drm/edid: Add drm_edid_get_monitor_name() include/drm: Reword debug categories comment. drm/crtc_helper: Reset empty plane state in drm_helper_crtc_mode_set_base() drm/virtio: Drop dummy gamma table support drm/bochs: Drop fake gamma support drm/core: Fix ordering in drm_mode_config_cleanup.
This commit is contained in:
@@ -90,7 +90,7 @@ struct reservation_object;
|
||||
struct dma_buf_attachment;
|
||||
|
||||
/*
|
||||
* 4 debug categories are defined:
|
||||
* The following categories are defined:
|
||||
*
|
||||
* CORE: Used in the generic drm code: drm_ioctl.c, drm_mm.c, drm_memory.c, ...
|
||||
* This is the category used by the DRM_DEBUG() macro.
|
||||
|
||||
@@ -2249,7 +2249,8 @@ static inline unsigned drm_connector_index(struct drm_connector *connector)
|
||||
return connector->connector_id;
|
||||
}
|
||||
|
||||
/* helper to unregister all connectors from sysfs for device */
|
||||
/* helpers to {un}register all connectors from sysfs for device */
|
||||
extern int drm_connector_register_all(struct drm_device *dev);
|
||||
extern void drm_connector_unregister_all(struct drm_device *dev);
|
||||
|
||||
extern int drm_bridge_add(struct drm_bridge *bridge);
|
||||
@@ -2500,6 +2501,8 @@ extern int drm_edid_header_is_valid(const u8 *raw_edid);
|
||||
extern bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid,
|
||||
bool *edid_corrupt);
|
||||
extern bool drm_edid_is_valid(struct edid *edid);
|
||||
extern void drm_edid_get_monitor_name(struct edid *edid, char *name,
|
||||
int buflen);
|
||||
|
||||
extern struct drm_tile_group *drm_mode_create_tile_group(struct drm_device *dev,
|
||||
char topology[8]);
|
||||
@@ -2590,10 +2593,14 @@ static inline struct drm_property *drm_property_find(struct drm_device *dev,
|
||||
static inline uint32_t drm_color_lut_extract(uint32_t user_input,
|
||||
uint32_t bit_precision)
|
||||
{
|
||||
uint32_t val = user_input + (1 << (16 - bit_precision - 1));
|
||||
uint32_t val = user_input;
|
||||
uint32_t max = 0xffff >> (16 - bit_precision);
|
||||
|
||||
val >>= 16 - bit_precision;
|
||||
/* Round only if we're not using full precision. */
|
||||
if (bit_precision < 16) {
|
||||
val += 1UL << (16 - bit_precision - 1);
|
||||
val >>= 16 - bit_precision;
|
||||
}
|
||||
|
||||
return clamp_val(val, 0, max);
|
||||
}
|
||||
|
||||
@@ -328,7 +328,15 @@ int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb);
|
||||
int drm_av_sync_delay(struct drm_connector *connector,
|
||||
const struct drm_display_mode *mode);
|
||||
struct drm_connector *drm_select_eld(struct drm_encoder *encoder);
|
||||
|
||||
#ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE
|
||||
int drm_load_edid_firmware(struct drm_connector *connector);
|
||||
#else
|
||||
static inline int drm_load_edid_firmware(struct drm_connector *connector)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
|
||||
|
||||
Reference in New Issue
Block a user