summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dsi_cmd.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-01-10 08:46:24 +1000
committerDave Airlie <airlied@redhat.com>2015-01-10 08:46:24 +1000
commitadc31849b27fefeca6c225d3895143a2ec6970fa (patch)
tree96644dea69278efbdd0f0fac52202203a67030fa /drivers/gpu/drm/i915/intel_dsi_cmd.h
parentc93546a5e32bd788c22aefa072385f3784551c13 (diff)
parent0e2cfc005b376ed7b5c9a9fc466b5842fcc18cc7 (diff)
downloadlinux-adc31849b27fefeca6c225d3895143a2ec6970fa.tar.gz
linux-adc31849b27fefeca6c225d3895143a2ec6970fa.tar.bz2
linux-adc31849b27fefeca6c225d3895143a2ec6970fa.zip
Merge tag 'drm-intel-next-2014-12-19' of git://anongit.freedesktop.org/drm-intel into drm-next
- plane handling refactoring from Matt Roper and Gustavo Padovan in prep for atomic updates - fixes and more patches for the seqno to request transformation from John - docbook for fbc from Rodrigo - prep work for dual-link dsi from Gaurav Signh - crc fixes from Ville - special ggtt views infrastructure from Tvrtko Ursulin - shadow patch copying for the cmd parser from Brad Volkin - execlist and full ppgtt by default on gen8, for testing for now * tag 'drm-intel-next-2014-12-19' of git://anongit.freedesktop.org/drm-intel: (131 commits) drm/i915: Update DRIVER_DATE to 20141219 drm/i915: Hold runtime PM during plane commit drm/i915: Organize bind_vma funcs drm/i915: Organize INSTDONE report for future. drm/i915: Organize PDP regs report for future. drm/i915: Organize PPGTT init drm/i915: Organize Fence registers for future enablement. drm/i915: tame the chattermouth (v2) drm/i915: Warn about missing context state workarounds only once drm/i915: Use true PPGTT in Gen8+ when execlists are enabled drm/i915: Skip gunit save/restore for cherryview drm/i915/chv: Use timeout mode for RC6 on chv drm/i915: Add GPGPU_THREADS_DISPATCHED to the register whitelist drm/i915: Tidy up execbuffer command parsing code drm/i915: Mark shadow batch buffers as purgeable drm/i915: Use batch length instead of object size in command parser drm/i915: Use batch pools with the command parser drm/i915: Implement a framework for batch buffer pools drm/i915: fix use after free during eDP encoder destroying drm/i915/skl: Skylake also supports DP MST ...
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dsi_cmd.h')
-rw-r--r--drivers/gpu/drm/i915/intel_dsi_cmd.h46
1 files changed, 25 insertions, 21 deletions
diff --git a/drivers/gpu/drm/i915/intel_dsi_cmd.h b/drivers/gpu/drm/i915/intel_dsi_cmd.h
index 46aa1acc00eb..326a5ac55561 100644
--- a/drivers/gpu/drm/i915/intel_dsi_cmd.h
+++ b/drivers/gpu/drm/i915/intel_dsi_cmd.h
@@ -36,77 +36,81 @@
#define DPI_LP_MODE_EN false
#define DPI_HS_MODE_EN true
-void dsi_hs_mode_enable(struct intel_dsi *intel_dsi, bool enable);
+void dsi_hs_mode_enable(struct intel_dsi *intel_dsi, bool enable,
+ enum port port);
int dsi_vc_dcs_write(struct intel_dsi *intel_dsi, int channel,
- const u8 *data, int len);
+ const u8 *data, int len, enum port port);
int dsi_vc_generic_write(struct intel_dsi *intel_dsi, int channel,
- const u8 *data, int len);
+ const u8 *data, int len, enum port port);
int dsi_vc_dcs_read(struct intel_dsi *intel_dsi, int channel, u8 dcs_cmd,
- u8 *buf, int buflen);
+ u8 *buf, int buflen, enum port port);
int dsi_vc_generic_read(struct intel_dsi *intel_dsi, int channel,
- u8 *reqdata, int reqlen, u8 *buf, int buflen);
+ u8 *reqdata, int reqlen, u8 *buf, int buflen, enum port port);
int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs);
void wait_for_dsi_fifo_empty(struct intel_dsi *intel_dsi);
/* XXX: questionable write helpers */
static inline int dsi_vc_dcs_write_0(struct intel_dsi *intel_dsi,
- int channel, u8 dcs_cmd)
+ int channel, u8 dcs_cmd, enum port port)
{
- return dsi_vc_dcs_write(intel_dsi, channel, &dcs_cmd, 1);
+ return dsi_vc_dcs_write(intel_dsi, channel, &dcs_cmd, 1, port);
}
static inline int dsi_vc_dcs_write_1(struct intel_dsi *intel_dsi,
- int channel, u8 dcs_cmd, u8 param)
+ int channel, u8 dcs_cmd, u8 param, enum port port)
{
u8 buf[2] = { dcs_cmd, param };
- return dsi_vc_dcs_write(intel_dsi, channel, buf, 2);
+ return dsi_vc_dcs_write(intel_dsi, channel, buf, 2, port);
}
static inline int dsi_vc_generic_write_0(struct intel_dsi *intel_dsi,
- int channel)
+ int channel, enum port port)
{
- return dsi_vc_generic_write(intel_dsi, channel, NULL, 0);
+ return dsi_vc_generic_write(intel_dsi, channel, NULL, 0, port);
}
static inline int dsi_vc_generic_write_1(struct intel_dsi *intel_dsi,
- int channel, u8 param)
+ int channel, u8 param, enum port port)
{
- return dsi_vc_generic_write(intel_dsi, channel, &param, 1);
+ return dsi_vc_generic_write(intel_dsi, channel, &param, 1, port);
}
static inline int dsi_vc_generic_write_2(struct intel_dsi *intel_dsi,
- int channel, u8 param1, u8 param2)
+ int channel, u8 param1, u8 param2, enum port port)
{
u8 buf[2] = { param1, param2 };
- return dsi_vc_generic_write(intel_dsi, channel, buf, 2);
+ return dsi_vc_generic_write(intel_dsi, channel, buf, 2, port);
}
/* XXX: questionable read helpers */
static inline int dsi_vc_generic_read_0(struct intel_dsi *intel_dsi,
- int channel, u8 *buf, int buflen)
+ int channel, u8 *buf, int buflen, enum port port)
{
- return dsi_vc_generic_read(intel_dsi, channel, NULL, 0, buf, buflen);
+ return dsi_vc_generic_read(intel_dsi, channel, NULL, 0, buf, buflen,
+ port);
}
static inline int dsi_vc_generic_read_1(struct intel_dsi *intel_dsi,
int channel, u8 param, u8 *buf,
- int buflen)
+ int buflen, enum port port)
{
- return dsi_vc_generic_read(intel_dsi, channel, &param, 1, buf, buflen);
+ return dsi_vc_generic_read(intel_dsi, channel, &param, 1, buf, buflen,
+ port);
}
static inline int dsi_vc_generic_read_2(struct intel_dsi *intel_dsi,
int channel, u8 param1, u8 param2,
- u8 *buf, int buflen)
+ u8 *buf, int buflen, enum port port)
{
u8 req[2] = { param1, param2 };
- return dsi_vc_generic_read(intel_dsi, channel, req, 2, buf, buflen);
+ return dsi_vc_generic_read(intel_dsi, channel, req, 2, buf, buflen,
+ port);
}