disp: msm: sde: add ctl reset during wait for commit done timeout
During one of the DP timeout usecases, flush doesn't take effect due to vid vblank wait failure. As a result, smmu faults are observed because of fetching the previously staged planes. This change adds ctl reset in the same DP atomic commit context to recover and avoid smmu faults. Change-Id: I2f9aceca56e27f140607317f7596d6fe0d908af8 Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Dieser Commit ist enthalten in:

committet von
Nilaan Gunabalachandran

Ursprung
e96e5bd074
Commit
8e53d758dd
@@ -29,6 +29,7 @@
|
||||
#include "sde_core_perf.h"
|
||||
#include "sde_hw_ds.h"
|
||||
#include "sde_color_processing.h"
|
||||
#include "sde_encoder.h"
|
||||
|
||||
#define SDE_CRTC_NAME_SIZE 12
|
||||
|
||||
@@ -632,12 +633,15 @@ int sde_crtc_reset_hw(struct drm_crtc *crtc, struct drm_crtc_state *old_state,
|
||||
/**
|
||||
* sde_crtc_request_frame_reset - requests for next frame reset
|
||||
* @crtc: Pointer to drm crtc object
|
||||
* @encoder: Pointer to drm encoder object
|
||||
*/
|
||||
static inline int sde_crtc_request_frame_reset(struct drm_crtc *crtc)
|
||||
static inline int sde_crtc_request_frame_reset(struct drm_crtc *crtc,
|
||||
struct drm_encoder *encoder)
|
||||
{
|
||||
struct sde_crtc *sde_crtc = to_sde_crtc(crtc);
|
||||
|
||||
if (sde_crtc->frame_trigger_mode == FRAME_DONE_WAIT_POSTED_START)
|
||||
if (sde_crtc->frame_trigger_mode == FRAME_DONE_WAIT_POSTED_START ||
|
||||
!sde_encoder_is_dsi_display(encoder))
|
||||
sde_crtc_reset_hw(crtc, crtc->state, false);
|
||||
|
||||
return 0;
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren