You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'drm/panel/for-4.6-rc1' of http://anongit.freedesktop.org/git/tegra/linux into drm-next
drm/panel: Changes for v4.6-rc1 This contains a refactoring of parts of the DSI core to allow creating DSI devices from non-DSI control busses (i.e. I2C, SPI, ...). Other than that there's support for a couple of new panels as well as a few cleanup patches. * tag 'drm/panel/for-4.6-rc1' of http://anongit.freedesktop.org/git/tegra/linux: drm/bridge: Make (pre/post) enable/disable callbacks optional drm/panel: simple: Add URT UMSH-8596MD-xT panels support dt-bindings: Add URT UMSH-8596MD-xT panel bindings of: Add United Radiant Technology Corporation vendor prefix drm/panel: simple: Support for LG lp120up1 panel dt-bindings: Add LG lp120up1 panel bindings drm/panel: simple: Fix g121x1_l03 hsync/vsync polarity drm/dsi: Get DSI host by DT device node drm/dsi: Add routine to unregister a DSI device drm/dsi: Try to match non-DT DSI devices drm/dsi: Use mipi_dsi_device_register_full() for DSI device creation drm/dsi: Check for CONFIG_OF when defining of_mipi_dsi_device_add()
This commit is contained in:
@@ -1597,6 +1597,8 @@ struct drm_bridge_funcs {
|
||||
*
|
||||
* The bridge can assume that the display pipe (i.e. clocks and timing
|
||||
* signals) feeding it is still running when this callback is called.
|
||||
*
|
||||
* The disable callback is optional.
|
||||
*/
|
||||
void (*disable)(struct drm_bridge *bridge);
|
||||
|
||||
@@ -1613,6 +1615,8 @@ struct drm_bridge_funcs {
|
||||
* The bridge must assume that the display pipe (i.e. clocks and timing
|
||||
* singals) feeding it is no longer running when this callback is
|
||||
* called.
|
||||
*
|
||||
* The post_disable callback is optional.
|
||||
*/
|
||||
void (*post_disable)(struct drm_bridge *bridge);
|
||||
|
||||
@@ -1641,6 +1645,8 @@ struct drm_bridge_funcs {
|
||||
* will not yet be running when this callback is called. The bridge must
|
||||
* not enable the display link feeding the next bridge in the chain (if
|
||||
* there is one) when this callback is called.
|
||||
*
|
||||
* The pre_enable callback is optional.
|
||||
*/
|
||||
void (*pre_enable)(struct drm_bridge *bridge);
|
||||
|
||||
@@ -1658,6 +1664,8 @@ struct drm_bridge_funcs {
|
||||
* signals) feeding it is running when this callback is called. This
|
||||
* callback must enable the display link feeding the next bridge in the
|
||||
* chain if there is one.
|
||||
*
|
||||
* The enable callback is optional.
|
||||
*/
|
||||
void (*enable)(struct drm_bridge *bridge);
|
||||
};
|
||||
|
||||
@@ -96,14 +96,17 @@ struct mipi_dsi_host_ops {
|
||||
* struct mipi_dsi_host - DSI host device
|
||||
* @dev: driver model device node for this DSI host
|
||||
* @ops: DSI host operations
|
||||
* @list: list management
|
||||
*/
|
||||
struct mipi_dsi_host {
|
||||
struct device *dev;
|
||||
const struct mipi_dsi_host_ops *ops;
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
int mipi_dsi_host_register(struct mipi_dsi_host *host);
|
||||
void mipi_dsi_host_unregister(struct mipi_dsi_host *host);
|
||||
struct mipi_dsi_host *of_find_mipi_dsi_host_by_node(struct device_node *node);
|
||||
|
||||
/* DSI mode flags */
|
||||
|
||||
@@ -139,10 +142,28 @@ enum mipi_dsi_pixel_format {
|
||||
MIPI_DSI_FMT_RGB565,
|
||||
};
|
||||
|
||||
#define DSI_DEV_NAME_SIZE 20
|
||||
|
||||
/**
|
||||
* struct mipi_dsi_device_info - template for creating a mipi_dsi_device
|
||||
* @type: DSI peripheral chip type
|
||||
* @channel: DSI virtual channel assigned to peripheral
|
||||
* @node: pointer to OF device node or NULL
|
||||
*
|
||||
* This is populated and passed to mipi_dsi_device_new to create a new
|
||||
* DSI device
|
||||
*/
|
||||
struct mipi_dsi_device_info {
|
||||
char type[DSI_DEV_NAME_SIZE];
|
||||
u32 channel;
|
||||
struct device_node *node;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct mipi_dsi_device - DSI peripheral device
|
||||
* @host: DSI host for this peripheral
|
||||
* @dev: driver model device node for this peripheral
|
||||
* @name: DSI peripheral chip type
|
||||
* @channel: virtual channel assigned to the peripheral
|
||||
* @format: pixel format for video mode
|
||||
* @lanes: number of active data lanes
|
||||
@@ -152,6 +173,7 @@ struct mipi_dsi_device {
|
||||
struct mipi_dsi_host *host;
|
||||
struct device dev;
|
||||
|
||||
char name[DSI_DEV_NAME_SIZE];
|
||||
unsigned int channel;
|
||||
unsigned int lanes;
|
||||
enum mipi_dsi_pixel_format format;
|
||||
@@ -188,6 +210,10 @@ static inline int mipi_dsi_pixel_format_to_bpp(enum mipi_dsi_pixel_format fmt)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
struct mipi_dsi_device *
|
||||
mipi_dsi_device_register_full(struct mipi_dsi_host *host,
|
||||
const struct mipi_dsi_device_info *info);
|
||||
void mipi_dsi_device_unregister(struct mipi_dsi_device *dsi);
|
||||
struct mipi_dsi_device *of_find_mipi_dsi_device_by_node(struct device_node *np);
|
||||
int mipi_dsi_attach(struct mipi_dsi_device *dsi);
|
||||
int mipi_dsi_detach(struct mipi_dsi_device *dsi);
|
||||
|
||||
Reference in New Issue
Block a user