- 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 9 次提交
-
-
由 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>
-
由 Sam Ravnborg 提交于
Drop the deprecated drmP.h header file, and trim msm_drv.h to the relevant include files. This resulted in a suprisingly many edits as many files relied on headers included via msm_drv.h. But msm_drv.h is not supposed to carry include files it do not need, so the individual files have to include what extra they needs. v2: - Rebased on top of https://gitlab.freedesktop.org/drm/msm.git msm-next Signed-off-by: NSam Ravnborg <sam@ravnborg.org> Cc: Rob Clark <robdclark@gmail.com> Cc: Sean Paul <sean@poorly.run> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Jordan Crouse <jcrouse@codeaurora.org> Cc: Jeykumar Sankaran <jsanka@codeaurora.org> Cc: Bruce Wang <bzwang@chromium.org> Cc: Shayenne Moura <shayenneluzmoura@gmail.com> Cc: Mamta Shukla <mamtashukla555@gmail.com> Cc: Jonathan Marek <jonathan@marek.ca> Cc: Carsten Behling <carsten.behling@googlemail.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Maxime Ripard <maxime.ripard@bootlin.com> Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Cc: Sibi Sankar <sibis@codeaurora.org> Cc: Todor Tomov <todor.tomov@linaro.org> Cc: linux-arm-msm@vger.kernel.org Cc: freedreno@lists.freedesktop.org Signed-off-by: NSean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190804065551.GA5211@ravnborg.org
-
- 21 6月, 2019 1 次提交
-
-
由 Sean Paul 提交于
Fix the error paths in _dpu_kms_mmu_init() to properly clean up the iommu domain and not call _dpu_kms_mmu_destroy() when things are only partially setup. Reviewed-by: NRob Clark <robdclark@chromium.org> Signed-off-by: NSean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190617200405.131843-2-sean@poorly.run
-
- 19 6月, 2019 6 次提交
-
-
由 Thomas Gleixner 提交于
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not see http www gnu org licenses extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 503 file(s). Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Reviewed-by: NAlexios Zavras <alexios.zavras@intel.com> Reviewed-by: NAllison Randal <allison@lohutok.net> Reviewed-by: NEnrico Weigelt <info@metux.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190602204653.811534538@linutronix.deSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Jordan Crouse 提交于
In the failure path for dpu_kms_init() it is possible to get to the MMU destroy function with uninitialized MMU structs. Check for NULL and skip if needed. Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org> Reviewed-by: NKristian H. Kristensen <hoegsberg@google.com> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Greg Kroah-Hartman 提交于
When calling debugfs functions, there is no need to ever check the return value. The function can work or not, but the code logic should never do something different based on this. Cc: Rob Clark <robdclark@gmail.com> Cc: Sean Paul <sean@poorly.run> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Jeykumar Sankaran <jsanka@codeaurora.org> Cc: Jordan Crouse <jcrouse@codeaurora.org> Cc: Abhinav Kumar <abhinavk@codeaurora.org> Cc: Bruce Wang <bzwang@chromium.org> Cc: Sravanthi Kollukuduru <skolluku@codeaurora.org> Cc: Fritz Koenig <frkoenig@google.com> Cc: Chandan Uddaraju <chandanu@codeaurora.org> Cc: linux-arm-msm@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: freedreno@lists.freedesktop.org Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NRob Clark <robdclark@chromium.org>
-
由 Sean Paul 提交于
This comment doesn't make any sense, remove it. Suggested-by: NJordan Crouse <jcrouse@codeaurora.org> Reviewed-by: NJordan Crouse <jcrouse@codeaurora.org> Signed-off-by: NSean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190528182657.246714-1-sean@poorly.run
-
由 Sean Paul 提交于
Fold it into dpu_debugfs_init. Cc: Stephen Boyd <swboyd@chromium.org> Reviewed-by: NAbhinav Kumar <abhinavk@codeaurora.org> Signed-off-by: NSean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190524173231.5040-2-sean@poorly.run
-
由 Sean Paul 提交于
Instead of reaching into dev->primary for debugfs_root, use the minor passed into debugfs_init. This avoids creating the debug directory under /sys/kernel/debug/ and instead creates the directory under the correct node in /sys/kernel/debug/dri/<node>/ Reported-by: NStephen Boyd <swboyd@chromium.org> Reviewed-by: NAbhinav Kumar <abhinavk@codeaurora.org> Reviewed-by: NRob Clark <robdclark@gmail.com> Signed-off-by: NSean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190524173231.5040-1-sean@poorly.run
-
- 01 2月, 2019 4 次提交
-
-
由 Jeykumar Sankaran 提交于
Bail out KMS hw init on display initialization failures with proper error logging. changes in v3: - introduced in the series changes in v4: - avoid duplicate return on errors (Sean Paul) - avoid spamming errors on failures (Jordon Crouse) Signed-off-by: NJeykumar Sankaran <jsanka@codeaurora.org> Signed-off-by: NSean Paul <seanpaul@chromium.org>
-
由 Jeykumar Sankaran 提交于
hw_mdp block is common for displays. No need to reserve per display. changes in v2: - use IS_ERR for error checking (Jordan Crouse) Signed-off-by: NJeykumar Sankaran <jsanka@codeaurora.org> Reviewed-by: NSean Paul <seanpaul@chromium.org> Signed-off-by: NSean Paul <seanpaul@chromium.org>
-
由 Jeykumar Sankaran 提交于
Not used. Remove from RM. changes in v2: - none Signed-off-by: NJeykumar Sankaran <jsanka@codeaurora.org> Reviewed-by: NSean Paul <seanpaul@chromium.org> Signed-off-by: NSean Paul <seanpaul@chromium.org>
-
由 Fritz Koenig 提交于
allow_fb_modifiers needs to be set before drm_universal_plane_init is called. Signed-off-by: NFritz Koenig <frkoenig@google.com> Signed-off-by: NSean Paul <seanpaul@chromium.org>
-
- 12 12月, 2018 1 次提交
-
-
由 Jordan Crouse 提交于
Remove more static inline functions that are lightly used and/or very simple and easy to build into the calling functions. v3: Fix a nit from Sean Paul v2: Removed another unused function from dpu_hw_lm.c and add back dpu_crtc_get_client_type() since there was a question regarding its usefulness. Reviewed-by: NSean Paul <sean@poorly.run> Signed-off-by: NJordan Crouse <jcrouse@codeaurora.org> Signed-off-by: NSean Paul <seanpaul@chromium.org> Signed-off-by: NRob Clark <robdclark@gmail.com>
-