mirror of https://gitee.com/openkylin/linux.git
drm/i915/bxt: get_hw_state for BXT
Pick appropriate port control register (BXT or VLV), based on device. Get the current hw state wrt Mipi port. v2: Rebased on latest drm nightly branch. v3: Removed the GET_DSI_PORT_CTRL Macro for consistency with earlier implementations as per Jani's suggestion. Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> Signed-off-by: Uma Shankar <uma.shankar@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
b389a45c6b
commit
baeac68a82
|
@ -656,7 +656,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
|
||||||
struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
|
struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
|
||||||
struct drm_device *dev = encoder->base.dev;
|
struct drm_device *dev = encoder->base.dev;
|
||||||
enum intel_display_power_domain power_domain;
|
enum intel_display_power_domain power_domain;
|
||||||
u32 dpi_enabled, func;
|
u32 dpi_enabled, func, ctrl_reg;
|
||||||
enum port port;
|
enum port port;
|
||||||
|
|
||||||
DRM_DEBUG_KMS("\n");
|
DRM_DEBUG_KMS("\n");
|
||||||
|
@ -668,8 +668,9 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
|
||||||
/* XXX: this only works for one DSI output */
|
/* XXX: this only works for one DSI output */
|
||||||
for_each_dsi_port(port, intel_dsi->ports) {
|
for_each_dsi_port(port, intel_dsi->ports) {
|
||||||
func = I915_READ(MIPI_DSI_FUNC_PRG(port));
|
func = I915_READ(MIPI_DSI_FUNC_PRG(port));
|
||||||
dpi_enabled = I915_READ(MIPI_PORT_CTRL(port)) &
|
ctrl_reg = IS_BROXTON(dev) ? BXT_MIPI_PORT_CTRL(port) :
|
||||||
DPI_ENABLE;
|
MIPI_PORT_CTRL(port);
|
||||||
|
dpi_enabled = I915_READ(ctrl_reg) & DPI_ENABLE;
|
||||||
|
|
||||||
/* Due to some hardware limitations on BYT, MIPI Port C DPI
|
/* Due to some hardware limitations on BYT, MIPI Port C DPI
|
||||||
* Enable bit does not get set. To check whether DSI Port C
|
* Enable bit does not get set. To check whether DSI Port C
|
||||||
|
|
Loading…
Reference in New Issue