mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 02:34:23 +08:00
drm/i915: Send DPI command explicitely in LP mode
Though HS mode also should work. v2: Change parameter as "bool hs" as suggested by Jani Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
339023ec34
commit
e1047028e2
@ -147,7 +147,7 @@ static void intel_dsi_enable(struct intel_encoder *encoder)
|
||||
I915_WRITE(MIPI_MAX_RETURN_PKT_SIZE(pipe), 8 * 4);
|
||||
else {
|
||||
msleep(20); /* XXX */
|
||||
dpi_send_cmd(intel_dsi, TURN_ON);
|
||||
dpi_send_cmd(intel_dsi, TURN_ON, DPI_LP_MODE_EN);
|
||||
msleep(100);
|
||||
|
||||
if (intel_dsi->dev.dev_ops->enable)
|
||||
@ -218,7 +218,8 @@ static void intel_dsi_disable(struct intel_encoder *encoder)
|
||||
DRM_DEBUG_KMS("\n");
|
||||
|
||||
if (is_vid_mode(intel_dsi)) {
|
||||
dpi_send_cmd(intel_dsi, SHUTDOWN);
|
||||
/* Send Shutdown command to the panel in LP mode */
|
||||
dpi_send_cmd(intel_dsi, SHUTDOWN, DPI_LP_MODE_EN);
|
||||
msleep(10);
|
||||
|
||||
/* de-assert ip_tg_enable signal */
|
||||
|
@ -389,7 +389,7 @@ int dsi_vc_generic_read(struct intel_dsi *intel_dsi, int channel,
|
||||
*
|
||||
* XXX: commands with data in MIPI_DPI_DATA?
|
||||
*/
|
||||
int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd)
|
||||
int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs)
|
||||
{
|
||||
struct drm_encoder *encoder = &intel_dsi->base.base;
|
||||
struct drm_device *dev = encoder->dev;
|
||||
@ -399,7 +399,7 @@ int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd)
|
||||
u32 mask;
|
||||
|
||||
/* XXX: pipe, hs */
|
||||
if (intel_dsi->hs)
|
||||
if (hs)
|
||||
cmd &= ~DPI_LP_MODE;
|
||||
else
|
||||
cmd |= DPI_LP_MODE;
|
||||
|
@ -33,6 +33,9 @@
|
||||
#include "intel_drv.h"
|
||||
#include "intel_dsi.h"
|
||||
|
||||
#define DPI_LP_MODE_EN false
|
||||
#define DPI_HS_MODE_EN true
|
||||
|
||||
void dsi_hs_mode_enable(struct intel_dsi *intel_dsi, bool enable);
|
||||
|
||||
int dsi_vc_dcs_write(struct intel_dsi *intel_dsi, int channel,
|
||||
@ -47,7 +50,7 @@ int dsi_vc_dcs_read(struct intel_dsi *intel_dsi, int channel, u8 dcs_cmd,
|
||||
int dsi_vc_generic_read(struct intel_dsi *intel_dsi, int channel,
|
||||
u8 *reqdata, int reqlen, u8 *buf, int buflen);
|
||||
|
||||
int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd);
|
||||
int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs);
|
||||
|
||||
/* XXX: questionable write helpers */
|
||||
static inline int dsi_vc_dcs_write_0(struct intel_dsi *intel_dsi,
|
||||
|
Loading…
Reference in New Issue
Block a user