Disp: Snapshot change for lahaina display driver
This snapshot change adds downstream support for drm 5.x+(msm_lahaina branch) linux kernel. Change-Id: Ia691c95da155a00e449c91a2f1a5b20a8e71aed4 Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
#include "msm_drv.h"
|
||||
#include "sde_kms.h"
|
||||
#include <drm/drm_crtc.h>
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
#include <drm/drm_probe_helper.h>
|
||||
#include "sde_hwio.h"
|
||||
#include "sde_hw_catalog.h"
|
||||
#include "sde_hw_intf.h"
|
||||
@@ -226,7 +226,6 @@ enum sde_enc_rc_states {
|
||||
* @recovery_events_enabled: status of hw recovery feature enable by client
|
||||
* @elevated_ahb_vote: increase AHB bus speed for the first frame
|
||||
* after power collapse
|
||||
* @pm_qos_cpu_req: pm_qos request for cpu frequency
|
||||
* @mode_info: stores the current mode and should be used
|
||||
* only in commit phase
|
||||
*/
|
||||
@@ -292,7 +291,6 @@ struct sde_encoder_virt {
|
||||
|
||||
bool recovery_events_enabled;
|
||||
bool elevated_ahb_vote;
|
||||
struct pm_qos_request pm_qos_cpu_req;
|
||||
struct msm_mode_info mode_info;
|
||||
};
|
||||
|
||||
@@ -314,44 +312,6 @@ void sde_encoder_uidle_enable(struct drm_encoder *drm_enc, bool enable)
|
||||
}
|
||||
}
|
||||
|
||||
static void _sde_encoder_pm_qos_add_request(struct drm_encoder *drm_enc,
|
||||
struct sde_kms *sde_kms)
|
||||
{
|
||||
struct sde_encoder_virt *sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
struct pm_qos_request *req;
|
||||
u32 cpu_mask;
|
||||
u32 cpu_dma_latency;
|
||||
int cpu;
|
||||
|
||||
if (!sde_kms->catalog || !sde_kms->catalog->perf.cpu_mask)
|
||||
return;
|
||||
|
||||
cpu_mask = sde_kms->catalog->perf.cpu_mask;
|
||||
cpu_dma_latency = sde_kms->catalog->perf.cpu_dma_latency;
|
||||
|
||||
req = &sde_enc->pm_qos_cpu_req;
|
||||
req->type = PM_QOS_REQ_AFFINE_CORES;
|
||||
cpumask_empty(&req->cpus_affine);
|
||||
for_each_possible_cpu(cpu) {
|
||||
if ((1 << cpu) & cpu_mask)
|
||||
cpumask_set_cpu(cpu, &req->cpus_affine);
|
||||
}
|
||||
pm_qos_add_request(req, PM_QOS_CPU_DMA_LATENCY, cpu_dma_latency);
|
||||
|
||||
SDE_EVT32_VERBOSE(DRMID(drm_enc), cpu_mask, cpu_dma_latency);
|
||||
}
|
||||
|
||||
static void _sde_encoder_pm_qos_remove_request(struct drm_encoder *drm_enc,
|
||||
struct sde_kms *sde_kms)
|
||||
{
|
||||
struct sde_encoder_virt *sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
|
||||
if (!sde_kms->catalog || !sde_kms->catalog->perf.cpu_mask)
|
||||
return;
|
||||
|
||||
pm_qos_remove_request(&sde_enc->pm_qos_cpu_req);
|
||||
}
|
||||
|
||||
static bool _sde_encoder_is_autorefresh_enabled(
|
||||
struct sde_encoder_virt *sde_enc)
|
||||
{
|
||||
@@ -2165,12 +2125,7 @@ static int _sde_encoder_resource_control_helper(struct drm_encoder *drm_enc,
|
||||
/* enable all the irq */
|
||||
_sde_encoder_irq_control(drm_enc, true);
|
||||
|
||||
if (is_cmd_mode)
|
||||
_sde_encoder_pm_qos_add_request(drm_enc, sde_kms);
|
||||
|
||||
} else {
|
||||
if (is_cmd_mode)
|
||||
_sde_encoder_pm_qos_remove_request(drm_enc, sde_kms);
|
||||
|
||||
/* disable all the irq */
|
||||
_sde_encoder_irq_control(drm_enc, false);
|
||||
|
Reference in New Issue
Block a user