aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-01-05drm: arc: Remove unnecessary drm_plane_cleanup() wrapperLaurent Pinchart1-7/+2
Use the drm_plane_cleanup() function directly as the drm_plane_funcs .destroy() handler without creating an unnecessary wrapper around it. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-05drm: rcar-du: Fix leak of CMM platform device referenceLaurent Pinchart1-3/+19
The device references acquired by of_find_device_by_node() are not released by the driver. Fix this by registering a cleanup action. Fixes: 8de707aeb452 ("drm: rcar-du: kms: Initialize CMM instances") Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]>
2021-01-05drm: rcar-du: Fix the return check of of_parse_phandle and ↵Wang Xiaojun1-4/+4
of_find_device_by_node of_parse_phandle and of_find_device_by_node may return NULL which cannot be checked by IS_ERR. Fixes: 8de707aeb452 ("drm: rcar-du: kms: Initialize CMM instances") Signed-off-by: Wang Xiaojun <[email protected]> Reported-by: Hulk Robot <[email protected]> Acked-by: Jacopo Mondi <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> [Replace -ENODEV with -EINVAL] Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2021-01-05drm: rcar-du: Drop local encoder variableLaurent Pinchart2-6/+2
The local encoder variable is an alias for &renc->base, and is only use twice. It doesn't help much, drop it, along with the rcar_encoder_to_drm_encoder() macro that is then unused. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: rcar-du: Skip encoder allocation for LVDS1 in dual-link modeLaurent Pinchart1-34/+25
The rcar-du driver skips registration of the encoder for the LVDS1 output when LVDS is used in dual-link mode, as the LVDS0 and LVDS1 links are bundled and handled through the LVDS0 output. It however still allocates the encoder and immediately destroys it, which is pointless. Skip allocation of the encoder altogether in that case. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: rcar-du: Replace dev_private with container_ofLaurent Pinchart4-7/+10
Now that drm_device is embedded in rcar_du_device, we can use container_of to get the rcar_du_device pointer from the drm_device, instead of using the drm_device.dev_private field. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: rcar-du: Embed drm_device in rcar_du_deviceLaurent Pinchart8-33/+29
Embedding drm_device in rcar_du_device allows usage of the DRM managed API to allocate both structures in one go, simplifying error handling. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: rcar-du: Use DRM-managed allocation for encodersLaurent Pinchart1-18/+29
devm_kzalloc() is the wrong API to allocate encoders, as the lifetime of the encoders is tied to the DRM device, not the device to driver binding. drmm_kzalloc() isn't a good option either, as it would result in the encoder being freed before being unregistered during the managed cleanup of the DRM objects. Use a plain kzalloc(), and register a drmm action to cleanup the encoder. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: rcar-du: Use DRM-managed allocation for VSP planesLaurent Pinchart1-5/+17
devm_kcalloc() is the wrong API to allocate planes, as the lifetime of the planes is tied to the DRM device, not the device to driver binding. drmm_kcalloc() isn't a good option either, as it would result in the planes being freed before being unregistered during the managed cleanup of the DRM objects. Use a plain kcalloc(), and cleanup the planes and free the memory in the existing rcar_du_vsp_cleanup() handler. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]>
2021-01-05drm: rcar-du: Drop unneeded encoder cleanup in error pathLaurent Pinchart1-4/+1
The encoder->name field can never be non-null in the error path, as that can only be possible after a successful call to drm_simple_encoder_init(). Drop the cleanup. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: rcar-du: Release vsp device reference in all error pathsLaurent Pinchart1-1/+1
Use drmm_add_action_or_reset() instead of drmm_add_action() to ensure the vsp device reference is released in case the function call fails. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: rcar-du: Fix crash when using LVDS1 clock for CRTCLaurent Pinchart3-12/+9
On D3 and E3 platforms, the LVDS encoder includes a PLL that can generate a clock for the corresponding CRTC, used even when the CRTC output to a non-LVDS port. This mechanism is supported by the driver, but the implementation is broken in dual-link LVDS mode. In that case, the LVDS1 drm_encoder is skipped, which causes a crash when trying to access its bridge later on. Fix this by storing bridge pointers internally instead of retrieving them from the encoder. The rcar_du_device encoders field isn't used anymore and can be dropped. Fixes: 8e8fddab0d0a ("drm: rcar-du: Skip LVDS1 output on Gen3 when using dual-link LVDS mode") Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-05drm: Add default modes for connectors in unknown stateLaurent Pinchart2-2/+9
The DRM CRTC helpers add default modes to connectors in the connected state if no mode can be retrieved from the connector. This behaviour is useful for VGA or DVI outputs that have no connected DDC bus. However, in such cases, the status of the output usually can't be retrieved and is reported as connector_status_unknown. Extend the addition of default modes to connectors in an unknown state to support outputs that can retrieve neither the modes nor the connection status. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
2021-01-05drm: rcar-du: Fix PM reference leak in rcar_cmm_enable()Qinglang Miao1-1/+1
pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in a reference leak here. A new function pm_runtime_resume_and_get is introduced in [0] to keep usage counter balanced. So We fix the reference leak by replacing it with new funtion. [0] dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter") Fixes: e08e934d6c28 ("drm: rcar-du: Add support for CMM") Reported-by: Hulk Robot <[email protected]> Signed-off-by: Qinglang Miao <[email protected]> Acked-by: Jacopo Mondi <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2021-01-05drm/bridge: thc63lvd1024: Fix regulator_get_optional() misuseMark Brown1-1/+1
The thc63lvd1024 driver requests a supply using regulator_get_optional() but both the name of the supply and the usage pattern suggest that it is being used for the main power for the device and is not at all optional for the device for function, there is no handling at all for absent supplies. Such regulators should use the vanilla regulator_get() interface, it will ensure that even if a supply is not described in the system integration one will be provided in software. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2021-01-05dt-bindings: display: bridge: thc63lvd1024: Document dual-output modeLaurent Pinchart1-5/+11
The DT binding support both dual-input and dual-output mode, but only dual-input is documented. Document dual-output mode. Suggested-by: Jacopo Mondi <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Jacopo Mondi <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2021-01-04drm/i915/selftests: Guard against redifinition of SZ_8GChris Wilson1-0/+2
In the near future, upstream will introduce a SZ_8G macro that is slightly different to our own. Employ a temporary ifndef to avoid compilation failure until we have backmerged. References: 8b0fac44bd1f ("sizes.h: add SZ_8G/SZ_16G/SZ_32G macros") Signed-off-by: Chris Wilson <[email protected]> Reviewed-by: José Roberto de Souza <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2021-01-04drm/i915/gt: Rearrange hsw workaroundsChris Wilson1-25/+29
Some rcs0 workarounds were being incorrectly applied to the GT, and so we failed to restore the expected register settings after a reset. Signed-off-by: Chris Wilson <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2021-01-04drm/i915/gt: Rearrange snb workaroundsChris Wilson1-34/+33
Some rcs0 workarounds were being incorrectly applied to the GT, and so we failed to restore the expected register settings after a reset. Signed-off-by: Chris Wilson <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2021-01-04drm/imx: ipuv3-crtc: use drm managed resourcesPhilipp Zabel1-71/+43
Use use drmm_crtc_alloc_with_planes() to align crtc memory lifetime with the drm device. drm_crtc_cleanup() is called automatically before the memory is freed. Also use drmm_add_action_or_reset() to make sure IPU resources are released automatically. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: ipuv3-plane: use drm managed resourcesPhilipp Zabel3-63/+36
Use drmm_universal_plane_alloc() to align plane memory lifetime with the drm device. drm_plane_cleanup() is called automatically before the memory is freed. Also move the call to ipu_plane_get_resources() into ipu_plane_init() and use drm managed resources to put IPU resources automatically when required. Handle error return values of the plane property creation functions. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: parallel-display: use drm managed resourcesPhilipp Zabel1-28/+29
Use drmm_simple_encoder_alloc() to align encoder memory lifetime with the drm device. drm_encoder_cleanup() is called automatically before the memory is freed. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: imx-tve: use drm managed resourcesPhilipp Zabel1-35/+39
Use drmm_simple_encoder_alloc() to align encoder memory lifetime with the drm device. drm_encoder_cleanup() is called automatically before the memory is freed. Also fold imx_tve_register() into imx_tve_bind(). Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: imx-ldb: use drm managed resourcesPhilipp Zabel1-9/+22
Use drmm_simple_encoder_alloc() to align encoder memory lifetime with the drm device. drm_encoder_cleanup() is called automatically before the memory is freed. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: dw_hdmi-imx: use drm managed resourcesPhilipp Zabel1-8/+17
Use drmm_simple_encoder_alloc() to align encoder memory lifetime with the drm device. drm_encoder_cleanup() is called automatically. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: parallel-display: move initialization into probePhilipp Zabel1-22/+20
Parts of the initialization that do not require the drm device can be done once during probe instead of possibly multiple times during bind. The bind function only creates the encoder. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: parallel-display: use local bridge and connector variablesPhilipp Zabel1-10/+10
Use local variables for bridge and connector. This simplifies the following commits. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: imx-tve: use devm_clk_registerPhilipp Zabel1-1/+1
Avoid leaking the clock provider when the driver is unbound. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: imx-tve: move initialization into probePhilipp Zabel1-23/+19
Parts of the initialization that do not require the drm device can be done once during probe instead of possibly multiple times during bind. The bind function only creates the encoder. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: imx-tve: use local encoder and connector variablesPhilipp Zabel1-7/+8
Introduce local variables for encoder and connector. This simplifies the following commits. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: imx-ldb: move initialization into probePhilipp Zabel1-35/+37
Parts of the initialization that do not require the drm device can be done once during probe instead of possibly multiple times during bind. The bind function only creates the encoders. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: imx-ldb: use local connector variablePhilipp Zabel1-6/+6
Use a local variable for the connector. This simplifies the following commits. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/imx: dw_hdmi-imx: move initialization into probePhilipp Zabel1-48/+26
Parts of the initialization that do not require the drm device can be done once during probe instead of possibly multiple times during bind. The bind function only creates the encoder and attaches the bridge. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2021-01-04drm/crtc: add drmm_crtc_alloc_with_planes()Philipp Zabel2-28/+130
Add an alternative to drm_crtc_init_with_planes() that allocates and initializes a crtc and registers drm_crtc_cleanup() with drmm_add_action_or_reset(). Signed-off-by: Philipp Zabel <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
2021-01-04drm/plane: add drmm_universal_plane_alloc()Philipp Zabel2-29/+147
Add an alternative to drm_universal_plane_init() that allocates and initializes a plane and registers drm_plane_cleanup() with drmm_add_action_or_reset(). Signed-off-by: Philipp Zabel <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
2021-01-04drm/simple_kms_helper: add drmm_simple_encoder_alloc()Philipp Zabel2-2/+36
Add an alternative to drm_simple_encoder_init() that allocates and initializes a simple encoder and registers drm_encoder_cleanup() with drmm_add_action_or_reset(). Signed-off-by: Philipp Zabel <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
2021-01-04drm: add drmm_encoder_alloc()Philipp Zabel2-23/+116
Add an alternative to drm_encoder_init() that allocates and initializes an encoder and registers drm_encoder_cleanup() with drmm_add_action_or_reset(). Signed-off-by: Philipp Zabel <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
2021-01-04drm/encoder: make encoder control functions optionalPhilipp Zabel3-4/+4
Simple managed encoders do not require the .destroy callback, make the whole funcs structure optional. Signed-off-by: Philipp Zabel <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
2021-01-04gpu: drm: imx: convert comma to semicolonZheng Yongjun1-1/+1
Replace a comma between expression statements by a semicolon. Signed-off-by: Zheng Yongjun <[email protected]> Signed-off-by: Philipp Zabel <[email protected]>
2021-01-04drm/imx: depend on COMMON_CLK to fix compile testsKrzysztof Kozlowski1-0/+1
The iMX DRM LVDS driver uses Common Clock Framework thus it cannot be built on platforms without it (e.g. compile test on MIPS with RALINK and SOC_RT305X): /usr/bin/mips-linux-gnu-ld: drivers/gpu/drm/imx/imx-ldb.o: in function `imx_ldb_encoder_disable': imx-ldb.c:(.text+0x400): undefined reference to `clk_set_parent' Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Philipp Zabel <[email protected]>
2021-01-04gpu/ipu-v3/ipu-di: Strip out 2 unused 'di_sync_config' entriesLee Jones1-4/+0
They're taking up too much space on the stack. Fixes the following W=1 kernel build warning(s): drivers/gpu/ipu-v3/ipu-di.c: In function ‘ipu_di_sync_config_noninterlaced’: drivers/gpu/ipu-v3/ipu-di.c:391:1: warning: the frame size of 1064 bytes is larger than 1024 bytes [-Wframe-larger-than=] Cc: Philipp Zabel <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: [email protected] Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Philipp Zabel <[email protected]>
2021-01-04drm: warn if cursor plane is set with legacy funcsSimon Ser1-0/+10
A driver must not set drm_crtc.cursor and any of the legacy funcs at the same time, otherwise it's not clear which one DRM core should use for legacy cursor updates. Signed-off-by: Simon Ser <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2021-01-03Linux 5.11-rc2Linus Torvalds1-1/+1
2021-01-03drm/i915: fix shift warningArnd Bergmann1-1/+1
Randconfig builds on 32-bit machines show lots of warnings for the i915 driver for passing a 32-bit value into __const_hweight64(): drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2584:9: error: shift count >= width of type [-Werror,-Wshift-count-overflow] return hweight64(VDBOX_MASK(&i915->gt)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/const_hweight.h:29:49: note: expanded from macro 'hweight64' #define hweight64(w) (__builtin_constant_p(w) ? __const_hweight64(w) : __arch_hweight64(w)) Change it to hweight_long() to avoid the warning. Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2021-01-02Merge tag 's390-5.11-3' of ↵Linus Torvalds4-21/+35
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 cleanups from Vasily Gorbik: "Update defconfigs and sort config select list" * tag 's390-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/Kconfig: sort config S390 select list once again s390: update defconfigs
2021-01-02Merge tag 'pm-5.11-rc2' of ↵Linus Torvalds4-5/+48
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management fixes from Rafael Wysocki: "These fix a crash in intel_pstate during resume from suspend-to-RAM that may occur after recent changes and two resource leaks in error paths in the operating performance points (OPP) framework, add a new C-states table to intel_idle and update the cpuidle MAINTAINERS entry to cover the governors too. Specifics: - Fix recently introduced crash in the intel_pstate driver that occurs if scale-invariance is disabled during resume from suspend-to-RAM due to inconsistent changes of APERF or MPERF MSR values made by the platform firmware (Rafael Wysocki). - Fix a memory leak and add a missing clk_put() in error paths in the OPP framework (Quanyang Wang, Viresh Kumar). - Add new C-states table for SnowRidge processors to the intel_idle driver (Artem Bityutskiy). - Update the MAINTAINERS entry for cpuidle to make it clear that the governors are covered by it too (Lukas Bulwahn)" * tag 'pm-5.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: intel_idle: add SnowRidge C-state table cpufreq: intel_pstate: Fix fast-switch fallback path opp: Call the missing clk_put() on error opp: fix memory leak in _allocate_opp_table MAINTAINERS: include governors into CPU IDLE TIME MANAGEMENT FRAMEWORK
2021-01-02Merge branches 'pm-cpufreq' and 'pm-cpuidle'Rafael J. Wysocki3-3/+41
* pm-cpufreq: cpufreq: intel_pstate: Fix fast-switch fallback path * pm-cpuidle: intel_idle: add SnowRidge C-state table MAINTAINERS: include governors into CPU IDLE TIME MANAGEMENT FRAMEWORK
2021-01-01drm/i915: Populate logical context during first pin.Maarten Lankhorst3-47/+13
This allows us to remove pin_map from state allocation, which saves us a few retry loops. We won't need this until first pin, anyway. Signed-off-by: Maarten Lankhorst <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2021-01-01drm/i915: Clarify error message on failed workaroundMatt Roper1-2/+2
Let's modify the "workaround lost" error message slightly to make it more clear what the various numbers represent. Also, the 'expected' value needs to be &'d with wa->read so that it doesn't include the mask bits for masked registers (those bits are write-only in the hardware and will usually always read out as 0's). Signed-off-by: Matt Roper <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2021-01-01Merge tag 'scsi-fixes' of ↵Linus Torvalds21-86/+208
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is a load of driver fixes (12 ufs, 1 mpt3sas, 1 cxgbi). The big core two fixes are for power management ("block: Do not accept any requests while suspended" and "block: Fix a race in the runtime power management code") which finally sorts out the resume problems we've occasionally been having. To make the resume fix, there are seven necessary precursors which effectively renames REQ_PREEMPT to REQ_PM, so every "special" request in block is automatically a power management exempt one. All of the non-PM preempt cases are removed except for the one in the SCSI Parallel Interface (spi) domain validation which is a genuine case where we have to run requests at high priority to validate the bus so this becomes an autopm get/put protected request" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (22 commits) scsi: cxgb4i: Fix TLS dependency scsi: ufs: Un-inline ufshcd_vops_device_reset function scsi: ufs: Re-enable WriteBooster after device reset scsi: ufs-mediatek: Use correct path to fix compile error scsi: mpt3sas: Signedness bug in _base_get_diag_triggers() scsi: block: Do not accept any requests while suspended scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE scsi: scsi_transport_spi: Set RQF_PM for domain validation commands scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT scsi: ide: Do not set the RQF_PREEMPT flag for sense requests scsi: block: Introduce BLK_MQ_REQ_PM scsi: block: Fix a race in the runtime power management code scsi: ufs-pci: Enable UFSHCD_CAP_RPM_AUTOSUSPEND for Intel controllers scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff() scsi: ufs-pci: Fix restore from S4 for Intel controllers scsi: ufs-mediatek: Keep VCC always-on for specific devices scsi: ufs: Allow regulators being always-on scsi: ufs: Clear UAC for RPMB after ufshcd resets ...