- 08 4月, 2021 4 次提交
-
-
由 Krishna Manikandan 提交于
Add required display hw catalog changes for SC7280 target. Signed-off-by: NKrishna Manikandan <mkrishn@codeaurora.org> Link: https://lore.kernel.org/r/1617685792-14376-2-git-send-email-mkrishn@codeaurora.orgSigned-off-by: NRob Clark <robdclark@chromium.org>
-
由 Dmitry Baryshkov 提交于
Currently DPU driver scales bandwidth and core clock for sc7180 only, while the rest of chips get static bandwidth votes. Make all chipsets scale bandwidth and clock per composition requirements like sc7180 does. Drop old voting path completely. Tested on RB3 (SDM845) and RB5 (SM8250). Signed-off-by: NDmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://lore.kernel.org/r/20210401020533.3956787-2-dmitry.baryshkov@linaro.orgSigned-off-by: NRob Clark <robdclark@chromium.org>
-
由 Kalyan Thota 提交于
Set the flag vblank_disable_immediate = true to turn off vblank irqs immediately as soon as drm_vblank_put is requested so that there are no irqs triggered during idle state. This will reduce cpu wakeups and help in power saving. To enable vblank_disable_immediate flag the underlying KMS driver needs to support high precision vblank timestamping and also a reliable way of providing vblank counter which is incrementing at the leading edge of vblank. This patch also brings in changes to support vblank_disable_immediate requirement in dpu driver. Changes in v1: - Specify reason to add vblank timestamp support. (Rob). - Add changes to provide vblank counter from dpu driver. Changes in v2: - Fix warn stack reported by Rob Clark with v2 patch. Changes in v3: - Move back to HW frame counter (Rob). Changes in v4: - Frame count mismatch was causing a DRM WARN stack spew. DPU HW will increment the frame count at the end of the sync, where as vblank will be triggered at the fetch_start counter which is calculated as v_total - vfp. This is to start fetching early for panels with low vbp w.r.t hw latency lines. Add logic to detect the line count if it falls between vactive and v_total then return incremented frame count value. Signed-off-by: NKalyan Thota <kalyan_t@codeaurora.org> Link: https://lore.kernel.org/r/1613651746-12783-1-git-send-email-kalyan_t@codeaurora.orgSigned-off-by: NRob Clark <robdclark@chromium.org>
-
由 Jonathan Marek 提交于
The driver already has support for sm8150/sm8250, but the compatibles were never added. Also inverse the non-mdp4 condition in add_display_components() to avoid having to check every new compatible in the condition. Signed-off-by: NJonathan Marek <jonathan@marek.ca> Signed-off-by: NDmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: NStephen Boyd <swboyd@chromium.org> Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20210329120051.3401567-4-dmitry.baryshkov@linaro.orgSigned-off-by: NRob Clark <robdclark@chromium.org>
-
- 23 3月, 2021 1 次提交
-
-
由 Kalyan Thota 提交于
DPU runtime resume will request for a min vote on the AXI bus as it is a necessary step before turning ON the AXI clock. The change does below 1) Move the icc path set before requesting runtime get_sync. 2) remove the dependency of hw catalog for min ib vote as it is initialized at a later point. Signed-off-by: NKalyan Thota <kalyan_t@codeaurora.org> Tested-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 01 2月, 2021 1 次提交
-
-
由 Xu Wang 提交于
fix semicolon.cocci warnings: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:752:2-3: Unneeded semicolon Signed-off-by: NXu Wang <vulab@iscas.ac.cn> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 02 11月, 2020 2 次提交
-
-
由 Viresh Kumar 提交于
dev_pm_opp_of_remove_table() doesn't report any errors when it fails to find the OPP table with error -ENODEV (i.e. OPP table not present for the device). And we can call dev_pm_opp_of_remove_table() unconditionally here. While at it, also create a label to put clkname. Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Rob Clark 提交于
Add msm_kms_destroy() and add err return from msm_kms_init(). Prep work for next patch. Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 22 9月, 2020 1 次提交
-
-
由 Qinglang Miao 提交于
Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code. Signed-off-by: NQinglang Miao <miaoqinglang@huawei.com> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 20 9月, 2020 1 次提交
-
-
由 Rob Clark 提交于
Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 16 9月, 2020 3 次提交
-
-
由 Abhinav Kumar 提交于
Move the MSM DP debugfs node from /sys/kernel/debug/drm_dp to /sys/kernel/debug/dri/*/ as required for video pattern compliance test suite. Changes in v2: rebase on top of latest patchset of dependency Signed-off-by: NAbhinav Kumar <abhinavk@codeaurora.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Tanmay Shah 提交于
Configure HPD registers in DP controller and enable HPD interrupt. Add interrupt to handle HPD connect and disconnect events. Changes in v8: None Signed-off-by: NTanmay Shah <tanmay@codeaurora.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Jeykumar Sankaran 提交于
Add display port support in DPU by creating hooks for DP encoder enumeration and encoder mode initialization. changes in v2: - rebase on [2] (Sean Paul) - remove unwanted error checks and switch cases (Jordan Crouse) [1] https://lwn.net/Articles/768265/ [2] https://lkml.org/lkml/2018/11/17/87 changes in V3: -- Moved this change as part of the DP driver changes. -- Addressed compilation issues on the latest code base. Changes in v6: -- Fix checkpatch.pl warning Changes in v7: Remove depends-on tag from commit message. Changes in v8: None Changes in v9: None Signed-off-by: NJeykumar Sankaran <jsanka@codeaurora.org> Signed-off-by: NChandan Uddaraju <chandanu@codeaurora.org> Signed-off-by: NVara Reddy <varar@codeaurora.org> Signed-off-by: NTanmay Shah <tanmay@codeaurora.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 05 9月, 2020 1 次提交
-
-
由 Kalyan Thota 提交于
This change adds support to scale src clk and bandwidth as per composition requirements. Interconnect registration for bw has been moved to mdp device node from mdss to facilitate the scaling. Changes in v1: - Address armv7 compilation issues with the patch (Rob) Signed-off-by: NKalyan Thota <kalyan_t@codeaurora.org> Reviewed-by: NRob Clark <robdclark@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 31 7月, 2020 4 次提交
-
-
由 Eric Anholt 提交于
We don't expect to find vbif_nrt or regdma on sdm845, but were clogging up dmesg with errors about it. Signed-off-by: NEric Anholt <eric@anholt.net> Reported-by: Nkernel test robot <lkp@intel.com> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Eric Anholt 提交于
Nothing was using the lengths of these ioremaps. Signed-off-by: NEric Anholt <eric@anholt.net> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Rajendra Nayak 提交于
On some qualcomm platforms DPU needs to express a performance state requirement on a power domain depending on the clock rates. Use OPP table from DT to register with OPP framework and use dev_pm_opp_set_rate() to set the clk/perf state. Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Reviewed-by: NRob Clark <robdclark@chromium.org> Reviewed-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Kalyan Thota 提交于
"The PM core always increments the runtime usage counter before calling the ->suspend() callback and decrements it after calling the ->resume() callback" DPU and DSI are managed as runtime devices. When suspend is triggered, PM core adds a refcount on all the devices and calls device suspend, since usage count is already incremented, runtime suspend was not getting called and it kept the clocks on which resulted in target not entering into XO shutdown. Add changes to force suspend on runtime devices during pm sleep. Changes in v1: - Remove unnecessary checks in the function _dpu_kms_disable_dpu (Rob Clark). Changes in v2: - Avoid using suspend_late to reset the usagecount as suspend_late might not be called during suspend call failures (Doug). Changes in v3: - Use force suspend instead of managing device usage_count via runtime put and get API's to trigger callbacks (Doug). Changes in v4: - Check the return values of pm_runtime_force_suspend and pm_runtime_force_resume API's and pass appropriately (Doug). Changes in v5: - With v4 patch, test cycle has uncovered issues in device resume. On bubs: cmd tx failures were seen as SW is sending panel off commands when the dsi resources are turned off. Upon suspend, DRM driver will issue a NULL composition to the dpu, followed by turning off all the HW blocks. v5 changes will serialize the NULL commit and resource unwinding by handling them under PM prepare and PM complete phases there by ensuring that clks are on when panel off commands are being processed. Changes in v6: - Use drm_mode_config_helper_suspend/resume() instead of legacy API drm_atomic_helper_suspend/resume() (Doug). Trigger runtime callbacks from the suspend/resume call to turn off the resources. Changes in v7: - Add "__maybe_unused" to the functions to avoid compilation failures. Cleanup unnecessary configs (Doug). Signed-off-by: NKalyan Thota <kalyan_t@codeaurora.org> Reviewed-by: NDouglas Anderson <dianders@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 23 6月, 2020 1 次提交
-
-
由 Jordan Crouse 提交于
msm_gem_address_space_create() changed to take a start/length instead of a start/end for the iova space but all of the callers were just cut and pasted from the old usage. Most of the mistakes have been fixed up so just catch up the rest. Fixes: ccac7ce3 ("drm/msm: Refactor address space initialization") Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 02 6月, 2020 1 次提交
-
-
由 Rob Clark 提交于
This is causing multiple armv7 missing do_div() errors, so lets drop it for now. This reverts commit 04d9044f. Cc: Kalyan Thota <kalyan_t@codeaurora.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 24 5月, 2020 2 次提交
-
-
由 Jordan Crouse 提交于
Refactor how address space initialization works. Instead of having the address space function create the MMU object (and thus require separate but equal functions for gpummu and iommu) use a single function and pass the MMU struct in. Make the generic code cleaner by using target specific functions to create the address space so a2xx can do its own thing in its own space. For all the other targets use a generic helper to initialize IOMMU but leave the door open for newer targets to use customization if they need it. Reviewed-by: NRob Clark <robdclark@gmail.com> Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org> Tested-by: NShawn Guo <shawn.guo@linaro.org> [squash in rebase fixups] Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Jordan Crouse 提交于
Everywhere an IOMMU object is created by msm_gpu_create_address_space the IOMMU device is attached immediately after. Instead of carrying around the infrastructure to do the attach from the device specific code do it directly in the msm_iommu_init() function. This gets it out of the way for more aggressive cleanups that follow. Reviewed-by: NRob Clark <robdclark@gmail.com> Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org> Tested-by: NShawn Guo <shawn.guo@linaro.org> [squash in rebase fixups and fix for unused fxn] Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 19 5月, 2020 1 次提交
-
-
由 Kalyan Thota 提交于
This change adds support to scale src clk and bandwidth as per composition requirements. Interconnect registration for bw has been moved to mdp device node from mdss to facilitate the scaling. Signed-off-by: NKalyan Thota <kalyan_t@codeaurora.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 20 3月, 2020 2 次提交
-
-
由 tongtiangen 提交于
Fixes gcc '-Wunused-but-set-variable' warning: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function _dpu_debugfs_show_regset32: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:142:26: warning: variable priv set but not used [-Wunused-but-set-variable] drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function dpu_kms_prepare_commit: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:271:21: warning: variable dev set but not used [-Wunused-but-set-variable] drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function _dpu_kms_hw_destroy: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:555:21: warning: variable dev set but not used [-Wunused-but-set-variable] drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function dpu_kms_hw_init: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:763:26: warning: variable priv set but not used [-Wunused-but-set-variable] drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function dpu_runtime_suspend: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:1021:21: warning: variable ddev set but not used [-Wunused-but-set-variable] Reported-by: NHulk Robot <hulkci@huawei.com> Signed-off-by: Ntongtiangen <tongtiangen@huawei.com> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Drew Davenport 提交于
Move mapping of resources to encoder ids from the resource manager to a new dpu_global_state struct. Store this struct in global atomic state. Before this patch, atomic test would be performed by modifying global state (resource manager), and backing out any changes if the test fails. By using drm atomic global state, this is not necessary as any changes to the global state will be discarded if the test fails. Signed-off-by: NDrew Davenport <ddavenport@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 03 1月, 2020 1 次提交
-
-
由 Kalyan Thota 提交于
Add display hw catalog changes for SC7180 target. Changes in v1: - Configure register offsets and capabilities for the display hw blocks. Changes in v2: - mdss_irq data type has changed in the dependent patch, accommodate the necessary changes. - Add co-developed-by tags in the commit msg (Stephen Boyd). Changes in v3: - fix kernel checkpatch errors in v2 Changes in v4: - move documentation into seperate patch (Rob Herring). This patch has dependency on the below series https://patchwork.kernel.org/patch/11253647/Co-developed-by: NShubhashree Dhar <dhar@codeaurora.org> Signed-off-by: NShubhashree Dhar <dhar@codeaurora.org> Co-developed-by: NRaviteja Tamatam <travitej@codeaurora.org> Signed-off-by: NRaviteja Tamatam <travitej@codeaurora.org> Signed-off-by: NKalyan Thota <kalyan_t@codeaurora.org> [rebase on hw catalog const'ification, and add more const's] Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 11 10月, 2019 1 次提交
-
-
由 Sean Paul 提交于
As Daniel mentions in his email [1], non-blocking commits don't hold the modeset locks, so we can safely access state as long as these functions are in the commit path. So remove the WARN_ON in dpu_kms_encoder_enable. In dpu_crtc_get_intf_mode, things are a bit more complicated. So keep the WARN_ON, but add a comment explaining the situation and hope someone comes along and fixes the issue. [1]- https://lists.freedesktop.org/archives/dri-devel/2019-October/239441.html Link to v1: https://patchwork.freedesktop.org/patch/msgid/20191010151351.126735-1-sean@poorly.run Changes in v2: - Restored the WARN_ON in get_intf_mode and added a clarifying comment (Daniel) Fixes: 1dfdb0e1 ("drm/msm: dpu: Add modeset lock checks where applicable") Cc: Jeykumar Sankaran <jsanka@codeaurora.org> Cc: Rob Clark <robdclark@chromium.org> Suggested-by: NDaniel Vetter <daniel@ffwll.ch> Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NSean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20191010181801.186069-1-sean@poorly.run
-
- 08 10月, 2019 1 次提交
-
-
由 zhengbin 提交于
Fixes gcc '-Wunused-but-set-variable' warning: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function _dpu_danger_signal_status: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:80:26: warning: variable priv set but not used [-Wunused-but-set-variable] drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function dpu_kms_prepare_commit: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:271:26: warning: variable priv set but not used [-Wunused-but-set-variable] It is not used since commit 25fdd593 ("drm/msm: Add SDM845 DPU support") Reported-by: NHulk Robot <hulkci@huawei.com> Signed-off-by: Nzhengbin <zhengbin13@huawei.com> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 07 10月, 2019 4 次提交
-
-
由 Drew Davenport 提交于
The arguments related to IOMMU port name have been unused since commit 944fc36c ("drm/msm: use upstream iommu") and can be removed. Signed-off-by: NDrew Davenport <ddavenport@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Drew Davenport 提交于
dpu_kms.dev will never be NULL, so don't bother checking. Signed-off-by: NDrew Davenport <ddavenport@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Drew Davenport 提交于
msm_drm_private.kms will only be NULL in the dummy headless case, so there is no need to check it in the dpu display driver. Signed-off-by: NDrew Davenport <ddavenport@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Drew Davenport 提交于
drm_device.dev_private is set to a non-NULL msm_drm_private struct in msm_drm_init. Successful initialization of msm means that dev_private is non-NULL so there is no need to check it everywhere. Signed-off-by: NDrew Davenport <ddavenport@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
- 04 9月, 2019 8 次提交
-
-
由 Rob Clark 提交于
In addition, moving to kms->flush_commit() lets us drop the only user of kms->commit(). Signed-off-by: NRob Clark <robdclark@chromium.org> Reviewed-by: NSean Paul <sean@poorly.run>
-
由 Rob Clark 提交于
With atomic commit, ->prepare_commit() and ->complete_commit() may not be evenly balanced (although ->complete_commit() will complete each crtc that had been previously prepared). So these will no longer be a good place to enable/disable clocks needed for hw access. Signed-off-by: NRob Clark <robdclark@chromium.org> Reviewed-by: NSean Paul <sean@poorly.run>
-
由 Rob Clark 提交于
Add ->flush_commit(crtc_mask). Currently a no-op, but kms backends should migrate writing flush registers to this hook, so we can decouple pushing updates to hardware, and flushing the updates. Once we add async commit support, the hw updates will be pushed down to the hw synchronously, but flushing the updates will be deferred until as close to vblank as possible, so that multiple updates can be combined in a single frame. Signed-off-by: NRob Clark <robdclark@chromium.org> Reviewed-by: NSean Paul <sean@poorly.run>
-
由 Rob Clark 提交于
Prep work for async commits, in which case this will be called after we no longer have the atomic state object. This drops some wait_for_vblanks(), but those should be unnecessary, as we call this after waiting for flush to complete. Signed-off-by: NRob Clark <robdclark@chromium.org> Reviewed-by: NSean Paul <sean@poorly.run>
-
由 Rob Clark 提交于
First step in re-working the atomic related internal API to prepare for async updates pending.. ->wait_flush() is intended to block until there is no in-progress flush. A crtc_mask is used, rather than an atomic state object, as this will later be used for async flush after the atomic state is destroyed. This replaces ->wait_for_crtc_commit_done() v2: update for review comments Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Rob Clark 提交于
It attempted to avoid fps drops in the presence of cursor updates. But it is racing, and can result in hw updates after flush before vblank, which leads to underruns. Signed-off-by: NRob Clark <robdclark@chromium.org> Reviewed-by: NSean Paul <sean@poorly.run> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Rob Clark 提交于
I'm sure there is plenty more to remove.. this is just some of the ones I noticed. Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Rob Clark 提交于
Previously, dpu_crtc_frame_event_work() would try to aquire all the modeset locks in order to check whether it can release bandwidth. (If we only have cmd-mode display, bandwidth can be released at frame-done time.) The problem with this is that it is also responsible for signalling frame_done_comp, which dpu_crtc_commit_kickoff() waits on if there is already a frame pending. This is called in the msm_atomic_commit_tail() path.. which means that for non-nonblock commits, at least some of the modeset locks are already held. Re-work this scheme to use a reference count to track our need to have clocks enabled. It is incremented for each atomic commit, and decremented in the corresponding frame-done. Additionally, any crtc used in video mode hold an extra reference while they are enabled. The net effect is that we can determine in frame-done whether it is safe to drop bandwidth without needing to aquire any modeset locks. Signed-off-by: NRob Clark <robdclark@chromium.org> Reviewed-by: NSean Paul <sean@chromium.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-