From: Lan Tianyu <Tianyu.Lan(a)microsoft.com>
The max flush rep count of HvFlushGuestPhysicalAddressList hypercall
is equal with how many entries of union hv_gpa_page_range can be populated
into the input parameter page. The origin code lacks parenthesis around
PAGE_SIZE - 2 * sizeof(u64). This patch is to fix it.
Cc: <stable(a)vger.kernel.org>
Fixs: cc4edae4b924 ("x86/hyper-v: Add HvFlushGuestAddressList hypercall support")
Signed-off-by: Lan Tianyu <Tianyu.Lan(a)microsoft.com>
---
arch/x86/include/asm/hyperv-tlfs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h
index 705dafc2d11a..2bdbbbcfa393 100644
--- a/arch/x86/include/asm/hyperv-tlfs.h
+++ b/arch/x86/include/asm/hyperv-tlfs.h
@@ -841,7 +841,7 @@ union hv_gpa_page_range {
* count is equal with how many entries of union hv_gpa_page_range can
* be populated into the input parameter page.
*/
-#define HV_MAX_FLUSH_REP_COUNT (PAGE_SIZE - 2 * sizeof(u64) / \
+#define HV_MAX_FLUSH_REP_COUNT ((PAGE_SIZE - 2 * sizeof(u64)) / \
sizeof(union hv_gpa_page_range))
struct hv_guest_mapping_flush_list {
--
2.14.4
From: Lan Tianyu <Tianyu.Lan(a)microsoft.com>
The max flush rep count of HvFlushGuestPhysicalAddressList hypercall
is equal with how many entries of union hv_gpa_page_range can be populated
into the input parameter page. The origin code lacks parenthesis around
PAGE_SIZE - 2 * sizeof(u64). This patch is to fix it.
Cc: <stable(a)vger.kernel.org>
Fixes: cc4edae4b924 ("x86/hyper-v: Add HvFlushGuestAddressList hypercall support")
Signed-off-by: Lan Tianyu <Tianyu.Lan(a)microsoft.com>
---
Change since v1
- Update change log
arch/x86/include/asm/hyperv-tlfs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h
index 705dafc2d11a..2bdbbbcfa393 100644
--- a/arch/x86/include/asm/hyperv-tlfs.h
+++ b/arch/x86/include/asm/hyperv-tlfs.h
@@ -841,7 +841,7 @@ union hv_gpa_page_range {
* count is equal with how many entries of union hv_gpa_page_range can
* be populated into the input parameter page.
*/
-#define HV_MAX_FLUSH_REP_COUNT (PAGE_SIZE - 2 * sizeof(u64) / \
+#define HV_MAX_FLUSH_REP_COUNT ((PAGE_SIZE - 2 * sizeof(u64)) / \
sizeof(union hv_gpa_page_range))
struct hv_guest_mapping_flush_list {
--
2.14.4
From: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
Lenovo Thinkpad T431s (ivb) apparently can't handle LP1+ watermarks
being enabled. It underruns severly enough that the screen is
unusable. The latency values and watemarks look as expected.
And sadly updating the BIOS to the latest version (BIOS GHET41WW
(1.26 ) 11/21/2018) did not help.
One glimmer of hope I had was the VBT. It seems to have some sort
of flag for "self refresh = yes/no", but when I looked at a bunch
of VBTs I had lying around most of them had that field set to "no".
So if we used that we'd end up disabling LP1+ on most machines.
That seems a bit harsh since we know LP1+ works just fine on
most machines.
Since I have no better ideas let's just disable LP1+ watermarks
on this particular machine via a quirk.
Cc: stable(a)vger.kernel.org
Cc: Andrea <andreatclist(a)gmail.com>
Reported-by: Andrea <andreatclist(a)gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109477
Fixes: a46a7350b1e8 ("drm/i915: Fix ilk+ watermarks when disabling pipes")
Signed-off-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 51 +++++++++++++++++++++++++--------
1 file changed, 39 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 4c0e43caa5cd..75dceac19950 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3015,6 +3015,29 @@ static void snb_wm_latency_quirk(struct drm_i915_private *dev_priv)
intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
}
+static void ilk_wm_disable_quirk(struct drm_i915_private *dev_priv,
+ int level)
+{
+ int max_level = ilk_wm_max_level(dev_priv);
+
+ if (dev_priv->wm.pri_latency[level] == 0 &&
+ dev_priv->wm.spr_latency[level] == 0 &&
+ dev_priv->wm.cur_latency[level] == 0)
+ return;
+
+ DRM_DEBUG_KMS("LP%d+ watermarks disabled by quirk\n", level);
+
+ for (; level <= max_level; level++) {
+ dev_priv->wm.pri_latency[level] = 0;
+ dev_priv->wm.spr_latency[level] = 0;
+ dev_priv->wm.cur_latency[level] = 0;
+ }
+
+ intel_print_wm_latency(dev_priv, "Primary", dev_priv->wm.pri_latency);
+ intel_print_wm_latency(dev_priv, "Sprite", dev_priv->wm.spr_latency);
+ intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
+}
+
static void snb_wm_lp3_irq_quirk(struct drm_i915_private *dev_priv)
{
/*
@@ -3028,23 +3051,18 @@ static void snb_wm_lp3_irq_quirk(struct drm_i915_private *dev_priv)
* interrupts only. To play it safe we disable LP3
* watermarks entirely.
*/
- if (dev_priv->wm.pri_latency[3] == 0 &&
- dev_priv->wm.spr_latency[3] == 0 &&
- dev_priv->wm.cur_latency[3] == 0)
- return;
-
- dev_priv->wm.pri_latency[3] = 0;
- dev_priv->wm.spr_latency[3] = 0;
- dev_priv->wm.cur_latency[3] = 0;
+ ilk_wm_disable_quirk(dev_priv, 3);
+}
- DRM_DEBUG_KMS("LP3 watermarks disabled due to potential for lost interrupts\n");
- intel_print_wm_latency(dev_priv, "Primary", dev_priv->wm.pri_latency);
- intel_print_wm_latency(dev_priv, "Sprite", dev_priv->wm.spr_latency);
- intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
+static void ilk_wm_disable_lp1_quirk(struct drm_i915_private *dev_priv)
+{
+ ilk_wm_disable_quirk(dev_priv, 1);
}
static void ilk_setup_wm_latency(struct drm_i915_private *dev_priv)
{
+ struct pci_dev *pdev = dev_priv->drm.pdev;
+
intel_read_wm_latency(dev_priv, dev_priv->wm.pri_latency);
memcpy(dev_priv->wm.spr_latency, dev_priv->wm.pri_latency,
@@ -3063,6 +3081,15 @@ static void ilk_setup_wm_latency(struct drm_i915_private *dev_priv)
snb_wm_latency_quirk(dev_priv);
snb_wm_lp3_irq_quirk(dev_priv);
}
+
+ /*
+ * Lenovo Thinkpad T431s (ivb)
+ * Massive underruns.
+ */
+ if (pdev->device == 0x0166 &&
+ pdev->subsystem_vendor == 0x17aa &&
+ pdev->subsystem_device == 0x2208)
+ ilk_wm_disable_lp1_quirk(dev_priv);
}
static void skl_setup_wm_latency(struct drm_i915_private *dev_priv)
--
2.19.2
On Mon, Feb 18, 2019 at 12:27 PM Simon Horman <horms(a)verge.net.au> wrote:
> On Fri, Feb 15, 2019 at 05:49:32PM +0100, Arnd Bergmann wrote:
> > On Fri, Feb 8, 2019 at 12:14 PM Simon Horman <horms+renesas(a)verge.net.au> wrote:
> > > Renesas ARM Based SoC Updates for v5.1
> > >
> > > * Correct shared IRQ handling of R-Car Gen2 Regulator quirk
> > > * Add missing dts files to MAINTAINERS
> >
> > Should the bugfix be marked Cc:stable and and Fixes:... ?
> >
> Sorry for missing that, I think that the bugfix should have had the following.
> Let me know if/how you want to handle updating the patch's changelog.
>
> Fixes: 6d14d4d313d09dab ("ARM: shmobile: Rework the PMIC IRQ line quirk")
I think the easiest way is to send an email to stable(a)kernel.org asking for
a backport of commit 5347a0203709 ("ARM: shmobile: Fix R-Car Gen2 regulator
quirk") after that has hit the mainline kernel and asking for a backport.
I've added it to Cc here, but I don't know if that's sufficient.
If you'd rather have me pick up the patch for 5.0 as well, I can also do
that and add the Cc/Fixes lines there. We will then have a duplicate
commit in 5.1, but it should not cause any merge issues.
Arnd
From: Alexander Usyskin <alexander.usyskin(a)intel.com>
Fix unbalanced module reference counting during internal reset, which
prevents the drivers unloading.
Tracking mei_me/txe modules on mei client bus via
mei_cldev_enable/disable is error prone due to possible internal
reset flow, where clients are disconnected underneath.
Moving reference counting to probe and release of mei bus client
driver solves this issue in simplest way, as each client provides only
a single connection to a client bus driver.
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Alexander Usyskin <alexander.usyskin(a)intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler(a)intel.com>
---
drivers/misc/mei/bus.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c
index e5456faf00e6..65bec998eb6e 100644
--- a/drivers/misc/mei/bus.c
+++ b/drivers/misc/mei/bus.c
@@ -540,17 +540,9 @@ int mei_cldev_enable(struct mei_cl_device *cldev)
goto out;
}
- if (!mei_cl_bus_module_get(cldev)) {
- dev_err(&cldev->dev, "get hw module failed");
- ret = -ENODEV;
- goto out;
- }
-
ret = mei_cl_connect(cl, cldev->me_cl, NULL);
- if (ret < 0) {
+ if (ret < 0)
dev_err(&cldev->dev, "cannot connect\n");
- mei_cl_bus_module_put(cldev);
- }
out:
mutex_unlock(&bus->device_lock);
@@ -613,7 +605,6 @@ int mei_cldev_disable(struct mei_cl_device *cldev)
if (err < 0)
dev_err(bus->dev, "Could not disconnect from the ME client\n");
- mei_cl_bus_module_put(cldev);
out:
/* Flush queues and remove any pending read */
mei_cl_flush_queues(cl, NULL);
@@ -724,9 +715,16 @@ static int mei_cl_device_probe(struct device *dev)
if (!id)
return -ENODEV;
+ if (!mei_cl_bus_module_get(cldev)) {
+ dev_err(&cldev->dev, "get hw module failed");
+ return -ENODEV;
+ }
+
ret = cldrv->probe(cldev, id);
- if (ret)
+ if (ret) {
+ mei_cl_bus_module_put(cldev);
return ret;
+ }
__module_get(THIS_MODULE);
return 0;
@@ -754,6 +752,7 @@ static int mei_cl_device_remove(struct device *dev)
mei_cldev_unregister_callbacks(cldev);
+ mei_cl_bus_module_put(cldev);
module_put(THIS_MODULE);
dev->driver = NULL;
return ret;
--
2.20.1
On Fri, Feb 22, 2019 at 8:54 PM Sasha Levin <sashal(a)kernel.org> wrote:
>
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
>
> The bot has tested the following trees: v4.20.11, v4.19.24, v4.14.102, v4.9.159, v4.4.175, v3.18.135.
>
> v4.19.24: Failed to apply! Possible dependencies:
> 919d8a3f3fef ("scsi: mpt3sas: Convert uses of pr_<level> with MPT3SAS_FMT to ioc_<level>")
>
> v4.14.102: Failed to apply! Possible dependencies:
> 016d5c35e278 ("scsi: mpt3sas: SGL to PRP Translation for I/Os to NVMe devices")
> 02a386df3678 ("scsi: mpt3sas: open-code _scsih_scsi_lookup_get()")
> 05303dfb7380 ("scsi: mpt3sas: use list_splice_init()")
> 12e7c6782bc5 ("scsi: mpt3sas: Introduce mpt3sas_get_st_from_smid()")
> 182ac784b41f ("scsi: mpt3sas: Introduce Base function for cloning.")
> 22ae5a3c2599 ("scsi: mpt3sas: Introduce API to get BAR0 mapped buffer address")
> 494f401bcd07 ("scsi: mpt3sas: Fix sparse warnings")
> 6a2d4618aef3 ("scsi: mpt3sas: separate out _base_recovery_check()")
> 6da999fe5a92 ("scsi: mpt3sas: simplify mpt3sas_scsi_issue_tm()")
> 74fcfa5371b7 ("scsi: mpt3sas: simplify task management functions")
> 93204b782a88 ("scsi: mpt3sas: Lockless access for chain buffers.")
> 9961c9bbf2b4 ("scsi: mpt3sas: check command status before attempting abort")
> aff39e61218f ("scsi: mpt3sas: Added support for nvme encapsulated request message.")
> b0cd285eb57c ("scsi: mpt3sas: always use first reserved smid for ioctl passthrough")
> ba4494d47bd0 ("scsi: mpt3sas: set default value for cb_idx")
> c102e00cf4b8 ("scsi: mpt3sas: API 's to support NVMe drive addition to SML")
> cd5897eda27d ("scsi: mpt3sas: Fix nvme drives checking for tlr.")
> d8335ae2b453 ("scsi: mpt3sas: fix dma_addr_t casts")
> d88e1eaba6ee ("scsi: mpt3sas: Add nvme device support in slave alloc, target alloc and probe")
> dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
>
> v4.9.159: Failed to apply! Possible dependencies:
> 016d5c35e278 ("scsi: mpt3sas: SGL to PRP Translation for I/Os to NVMe devices")
> 12e7c6782bc5 ("scsi: mpt3sas: Introduce mpt3sas_get_st_from_smid()")
> 307d9075a02b ("scsi: mpt3sas: Recognize and act on iopriority info")
> 494f401bcd07 ("scsi: mpt3sas: Fix sparse warnings")
> 81c16f83231a ("scsi: mpt3sas: Use the new MPI 2.6 32-bit Atomic Request Descriptors for SAS35 devices.")
> 998f26aedf41 ("scsi: mpt3sas: Added Device ID's for SAS35 devices and updated MPI header.")
> aff39e61218f ("scsi: mpt3sas: Added support for nvme encapsulated request message.")
> b0cd285eb57c ("scsi: mpt3sas: always use first reserved smid for ioctl passthrough")
> ba4494d47bd0 ("scsi: mpt3sas: set default value for cb_idx")
> c696f7b83ede ("scsi: mpt3sas: Implement device_remove_in_progress check in IOCTL path")
> d8335ae2b453 ("scsi: mpt3sas: fix dma_addr_t casts")
> dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
>
> v4.4.175: Failed to apply! Possible dependencies:
> 016d5c35e278 ("scsi: mpt3sas: SGL to PRP Translation for I/Os to NVMe devices")
> 12e7c6782bc5 ("scsi: mpt3sas: Introduce mpt3sas_get_st_from_smid()")
> 30158dc9bbc9 ("mpt3sas: Never block the Enclosure device")
> 307d9075a02b ("scsi: mpt3sas: Recognize and act on iopriority info")
> 5f0dfb7a9bcc ("mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs")
> 6c197093847e ("mpt3sas: Set maximum transfer length per IO to 4MB for VDs")
> 81c16f83231a ("scsi: mpt3sas: Use the new MPI 2.6 32-bit Atomic Request Descriptors for SAS35 devices.")
> 8bbb1cf63f5e ("mpt3sas: Fix warnings exposed by W=1")
> 998f26aedf41 ("scsi: mpt3sas: Added Device ID's for SAS35 devices and updated MPI header.")
> aff39e61218f ("scsi: mpt3sas: Added support for nvme encapsulated request message.")
> b0cd285eb57c ("scsi: mpt3sas: always use first reserved smid for ioctl passthrough")
> b130b0d56fa9 ("mpt3sas: Added support for high port count HBA variants.")
> ba4494d47bd0 ("scsi: mpt3sas: set default value for cb_idx")
> c696f7b83ede ("scsi: mpt3sas: Implement device_remove_in_progress check in IOCTL path")
> d8335ae2b453 ("scsi: mpt3sas: fix dma_addr_t casts")
> dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
> fd0331b32826 ("mpt3sas: Make use of additional HighPriority credit message frames for sending SCSI IO's")
>
> v3.18.135: Failed to apply! Possible dependencies:
> 03d1fb3a6578 ("mpt3sas: Fix for Asynchronous completion of timedout IO and task abort of timedout IO.")
> 12e7c6782bc5 ("scsi: mpt3sas: Introduce mpt3sas_get_st_from_smid()")
> 2b89669ae4ad ("mpt3sas: Bump mpt3sas driver version to v6.100.00.00")
> 2e26c3853206 ("mpt3sas: Update MPI2 strings to MPI2.5")
> 2ecb204d07ac ("scsi: always assign block layer tags if enabled")
> 3c5866565f37 ("mpt2sas: Use mpi headers from mpt3sas")
> 7497392a1193 ("mpt3sas: Move Gen3 HBA's device registration to a separate file")
> 7786ab6aff9c ("mpt3sas: Ported WarpDrive product SSS6200 support")
> 78f97c8f612d ("mpt2sas: Move Gen2 HBA's device registration to a separate file")
> 8a7e4c24e08f ("mpt3sas: Added mpt2sas driver definitions")
> 8f88dc41927f ("mptfusion: don't change queue type in ->change_queue_depth")
> a03bd153b1b3 ("mpt2sas, mpt3sas: Update attribution language to Avago")
> a62182f338b3 ("scsi: provide a generic change_queue_type method")
> ad666a0f41d9 ("mpt2sas, mpt3sas: fix upper bound for the module parameter max_sgl_entries")
> c75683ca13d1 ("mpt3sas : Bump mpt3sas driver version to 9.100.00.00")
> c8b09f6fb67d ("scsi: don't set tagging state from scsi_adjust_queue_depth")
> cb16ef384f15 ("mpt2sas: MPI2 Rev AA (2.00.19) specifications")
> cf75d5d6aa91 ("mpt3sas: simplify ->change_queue_depth")
> d357e84d65df ("mpt3sas: Define 'hba_mpi_version_belonged' IOC variable")
> d42432ad6c5c ("mpt2sas: MPI2 Rev BB (2.00.20) specification and 2.00.35 header files")
> db5ed4dfd5dd ("scsi: drop reason argument from ->change_queue_depth")
> dbec4c9040ed ("scsi: mpt3sas: lockless command submission")
> f9d81cfc2315 ("mpt3sas: Bump mpt3sas Driver version to v5.100.00.00")
> fb77bb5376a5 ("mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support")
>
>
> How should we proceed with this patch?
Shall I prepare the patches against all the above stable kernels and
shall I post them individually? if yes then how should I mention that
the particular is for corresponding stable kernel?
Thanks,
Sreekanth
>
> --
> Thanks,
> Sasha
This is the start of the stable review cycle for the 4.20.9 release.
There are 50 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Fri Feb 15 18:36:30 UTC 2019.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.20.9-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.20.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.20.9-rc1
Sven Eckelmann <sven(a)narfation.org>
batman-adv: Force mac header to start of data on xmit
Sven Eckelmann <sven(a)narfation.org>
batman-adv: Avoid WARN on net_device without parent in netns
Florian Westphal <fw(a)strlen.de>
xfrm: refine validation of template and selector families
Ilya Dryomov <idryomov(a)gmail.com>
libceph: avoid KEEPALIVE_PENDING races in ceph_con_keepalive()
Theodore Ts'o <tytso(a)mit.edu>
Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal"
Ville Syrjälä <ville.syrjala(a)linux.intel.com>
drm/i915: Try to sanitize bogus DPLL state left over by broken SNB BIOSen
Benedict Wong <benedictwong(a)google.com>
xfrm: Make set-mark default behavior backward compatible
Thomas Hellstrom <thellstrom(a)vmware.com>
drm/vmwgfx: Return error code from vmw_execbuf_copy_fence_user
Thomas Hellstrom <thellstrom(a)vmware.com>
drm/vmwgfx: Fix an uninitialized fence handle value
Thomas Hellstrom <thellstrom(a)vmware.com>
drm/vmwgfx: Fix setting of dma masks
Lucas De Marchi <lucas.demarchi(a)intel.com>
drm/i915: always return something on DDI clock selection
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
drm/amd/powerplay: Fix missing break in switch
Sandy Huang <hjc(a)rock-chips.com>
drm/rockchip: rgb: update SPDX license identifier
Tina Zhang <tina.zhang(a)intel.com>
drm/modes: Prevent division by zero htotal
Felix Fietkau <nbd(a)nbd.name>
mac80211: ensure that mgmt tx skbs have tailroom for encryption
Vincent Whitchurch <vincent.whitchurch(a)axis.com>
mic: vop: Fix use-after-free on remove
Aneesh Kumar K.V <aneesh.kumar(a)linux.ibm.com>
powerpc/radix: Fix kernel crash with mremap()
Oliver O'Halloran <oohall(a)gmail.com>
powerpc/papr_scm: Use the correct bind address
Sudeep Holla <sudeep.holla(a)arm.com>
firmware: arm_scmi: provide the mandatory device release callback
Bartosz Golaszewski <bgolaszewski(a)baylibre.com>
ARM: dts: da850: fix interrupt numbers for clocksource
Marc Gonzalez <marc.w.gonzalez(a)free.fr>
ARM: tango: Improve ARCH_MULTIPLATFORM compatibility
Russell King <rmk+kernel(a)armlinux.org.uk>
ARM: iop32x/n2100: fix PCI IRQ mapping
Paul Burton <paul.burton(a)mips.com>
MIPS: VDSO: Include $(ccflags-vdso) in o32,n32 .lds builds
Yifeng Li <tomli(a)tomli.me>
mips: loongson64: remove unreachable(), fix loongson_poweroff().
Paul Burton <paul.burton(a)mips.com>
MIPS: VDSO: Use same -m%-float cflag as the kernel proper
Aaro Koskinen <aaro.koskinen(a)iki.fi>
MIPS: OCTEON: don't set octeon_dma_bar_type if PCI is disabled
Paul Burton <paul.burton(a)mips.com>
MIPS: Use lower case for addresses in nexys4ddr.dts
Vladimir Kondratiev <vladimir.kondratiev(a)linux.intel.com>
mips: cm: reprime error cause
Andreas Ziegler <andreas.ziegler(a)fau.de>
tracing: uprobes: Fix typo in pr_fmt string
Andreas Ziegler <andreas.ziegler(a)fau.de>
tracing/uprobes: Fix output for multiple string arguments
Dmitry Torokhov <dmitry.torokhov(a)gmail.com>
pinctrl: cherryview: fix Strago DMI workaround
Chen-Yu Tsai <wens(a)csie.org>
pinctrl: sunxi: Correct number of IRQ banks on H6 main pin controller
Chuck Lever <chuck.lever(a)oracle.com>
svcrdma: Remove max_sge check at connect time
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
debugfs: fix debugfs_rename parameter checking
Tomas Winkler <tomas.winkler(a)intel.com>
samples: mei: use /dev/mei0 instead of /dev/mei
Tomas Winkler <tomas.winkler(a)intel.com>
mei: me: add ice lake point device id.
Johannes Berg <johannes.berg(a)intel.com>
cfg80211: call disconnect_wk when AP stops
Dan Carpenter <dan.carpenter(a)oracle.com>
misc: vexpress: Off by one in vexpress_syscfg_exec()
Eric W. Biederman <ebiederm(a)xmission.com>
signal: Better detection of synchronous signals
Eric W. Biederman <ebiederm(a)xmission.com>
signal: Always notice exiting tasks
Eric W. Biederman <ebiederm(a)xmission.com>
signal: Always attempt to allocate siginfo for SIGSTOP
Dan Murphy <dmurphy(a)ti.com>
iio: ti-ads8688: Update buffer allocation for timestamps
Matt Ranostay <matt.ranostay(a)konsulko.com>
iio: chemical: atlas-ph-sensor: correct IIO_TEMP values to millicelsius
Hans de Goede <hdegoede(a)redhat.com>
iio: adc: axp288: Fix TS-pin handling
Martin Kelly <mkelly(a)xevo.com>
tools: iio: iio_generic_buffer: make num_loops signed
Hans de Goede <hdegoede(a)redhat.com>
libata: Add NOLPM quirk for SAMSUNG MZ7TE512HMHP-000L1 SSD
Martin Kepplinger <martink(a)posteo.de>
mtd: rawnand: gpmi: fix MX28 bus master lockup problem
Boris Brezillon <bbrezillon(a)kernel.org>
mtd: spinand: Fix the error/cleanup path in spinand_init()
Boris Brezillon <bbrezillon(a)kernel.org>
mtd: spinand: Handle the case where PROGRAM LOAD does not reset the cache
Boris Brezillon <bbrezillon(a)kernel.org>
mtd: Make sure mtd->erasesize is valid even if the partition is of size 0
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/da850.dtsi | 2 +-
arch/arm/mach-iop32x/n2100.c | 3 +-
arch/arm/mach-tango/pm.c | 6 +-
arch/arm/mach-tango/pm.h | 7 ++
arch/arm/mach-tango/setup.c | 2 +
arch/mips/boot/dts/xilfpga/nexys4ddr.dts | 8 +-
arch/mips/kernel/mips-cm.c | 2 +-
arch/mips/loongson64/common/reset.c | 7 +-
arch/mips/pci/pci-octeon.c | 10 +--
arch/mips/vdso/Makefile | 5 +-
arch/powerpc/include/asm/book3s/64/pgtable.h | 22 ++---
arch/powerpc/mm/pgtable-book3s64.c | 22 +++++
arch/powerpc/platforms/pseries/papr_scm.c | 5 +-
drivers/ata/libata-core.c | 1 +
drivers/firmware/arm_scmi/bus.c | 9 +-
drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 1 +
drivers/gpu/drm/drm_modes.c | 2 +-
drivers/gpu/drm/i915/intel_ddi.c | 2 +-
drivers/gpu/drm/i915/intel_display.c | 51 +++++++++--
drivers/gpu/drm/rockchip/rockchip_rgb.c | 11 +--
drivers/gpu/drm/rockchip/rockchip_rgb.h | 11 +--
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 9 +-
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 4 +-
drivers/iio/adc/axp288_adc.c | 76 ++++++++++++----
drivers/iio/adc/ti-ads8688.c | 3 +-
drivers/iio/chemical/atlas-ph-sensor.c | 7 +-
drivers/misc/mei/hw-me-regs.h | 2 +
drivers/misc/mei/pci-me.c | 2 +
drivers/misc/mic/vop/vop_main.c | 4 +-
drivers/misc/vexpress-syscfg.c | 2 +-
drivers/mtd/mtdpart.c | 4 +
drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c | 13 ++-
drivers/mtd/nand/spi/core.c | 46 +++++-----
drivers/pinctrl/intel/pinctrl-cherryview.c | 8 +-
drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c | 2 +-
fs/debugfs/inode.c | 7 ++
fs/ext4/fsync.c | 13 +--
kernel/signal.c | 63 ++++++++++++-
kernel/trace/trace_uprobe.c | 9 +-
net/batman-adv/hard-interface.c | 5 +-
net/batman-adv/soft-interface.c | 2 +
net/ceph/messenger.c | 5 +-
net/mac80211/tx.c | 12 ++-
net/sunrpc/xprtrdma/svc_rdma_sendto.c | 105 ++++++++++++++++++++--
net/sunrpc/xprtrdma/svc_rdma_transport.c | 9 +-
net/wireless/ap.c | 2 +
net/wireless/core.h | 2 +
net/wireless/sme.c | 2 +-
net/xfrm/xfrm_policy.c | 5 +-
net/xfrm/xfrm_user.c | 13 ++-
samples/mei/mei-amt-version.c | 2 +-
tools/iio/iio_generic_buffer.c | 2 +-
54 files changed, 461 insertions(+), 174 deletions(-)
The patch below does not apply to the 4.20-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 4ece61a22be5ab5d49cc5fc20a19a0afa24a019d Mon Sep 17 00:00:00 2001
From: Bhawanpreet Lakha <Bhawanpreet.Lakha(a)amd.com>
Date: Tue, 5 Feb 2019 14:03:52 -0500
Subject: [PATCH] drm/amd/display: set clocks to 0 on suspend on dce80
[Why]
When a dce80 asic was suspended, the clocks were not set to 0.
Upon resume, the new clock was compared to the existing clock,
they were found to be the same, and so the clock was not set.
This resulted in a blackscreen.
[How]
In atomic commit, check to see if there are any active pipes.
If no, set clocks to 0
Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha(a)amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas(a)amd.com>
Acked-by: Leo Li <sunpeng.li(a)amd.com>
Signed-off-by: Alex Deucher <alexander.deucher(a)amd.com>
Cc: stable(a)vger.kernel.org
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
index cdd1d6b7b9f2..4e9ea50141bd 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
@@ -790,9 +790,22 @@ bool dce80_validate_bandwidth(
struct dc *dc,
struct dc_state *context)
{
- /* TODO implement when needed but for now hardcode max value*/
- context->bw.dce.dispclk_khz = 681000;
- context->bw.dce.yclk_khz = 250000 * MEMORY_TYPE_MULTIPLIER_CZ;
+ int i;
+ bool at_least_one_pipe = false;
+
+ for (i = 0; i < dc->res_pool->pipe_count; i++) {
+ if (context->res_ctx.pipe_ctx[i].stream)
+ at_least_one_pipe = true;
+ }
+
+ if (at_least_one_pipe) {
+ /* TODO implement when needed but for now hardcode max value*/
+ context->bw.dce.dispclk_khz = 681000;
+ context->bw.dce.yclk_khz = 250000 * MEMORY_TYPE_MULTIPLIER_CZ;
+ } else {
+ context->bw.dce.dispclk_khz = 0;
+ context->bw.dce.yclk_khz = 0;
+ }
return true;
}