Char/Misc fixes for 5.6-rc3
Here are some small char/misc driver fixes for 5.6-rc3. Also included in here are some updates for some documentation files that I seem to be maintaining these days. The driver fixes are: - small fixes for the habanalabs driver - fsi driver bugfix All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXk+9bw8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ymcoQCffSD3qJ6cVclyTHAUOtxJHuFLz3sAn0X6f77F u3UE5eTXLGNrt0u8Ab0i =9dXU -----END PGP SIGNATURE----- Merge tag 'char-misc-5.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver fixes from Greg KH: "Here are some small char/misc driver fixes for 5.6-rc3. Also included in here are some updates for some documentation files that I seem to be maintaining these days. The driver fixes are: - small fixes for the habanalabs driver - fsi driver bugfix All of these have been in linux-next for a while with no reported issues" * tag 'char-misc-5.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: Documentation/process: Swap out the ambassador for Canonical habanalabs: patched cb equals user cb in device memset habanalabs: do not halt CoreSight during hard reset habanalabs: halt the engines before hard-reset MAINTAINERS: remove unnecessary ':' characters fsi: aspeed: add unspecified HAS_IOMEM dependency COPYING: state that all contributions really are covered by this file Documentation/process: Change Microsoft contact for embargoed hardware issues embargoed-hardware-issues: drop Amazon contact as the email address now bounces Documentation/process: Add Arm contact for embargoed HW issuespull/802/head
commit
bb65619e97
2
COPYING
2
COPYING
|
|
@ -16,3 +16,5 @@ In addition, other licenses may also apply. Please see:
|
||||||
Documentation/process/license-rules.rst
|
Documentation/process/license-rules.rst
|
||||||
|
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
|
All contributions to the Linux Kernel are subject to this COPYING file.
|
||||||
|
|
|
||||||
|
|
@ -244,23 +244,23 @@ disclosure of a particular issue, unless requested by a response team or by
|
||||||
an involved disclosed party. The current ambassadors list:
|
an involved disclosed party. The current ambassadors list:
|
||||||
|
|
||||||
============= ========================================================
|
============= ========================================================
|
||||||
ARM
|
ARM Grant Likely <grant.likely@arm.com>
|
||||||
AMD Tom Lendacky <tom.lendacky@amd.com>
|
AMD Tom Lendacky <tom.lendacky@amd.com>
|
||||||
IBM
|
IBM
|
||||||
Intel Tony Luck <tony.luck@intel.com>
|
Intel Tony Luck <tony.luck@intel.com>
|
||||||
Qualcomm Trilok Soni <tsoni@codeaurora.org>
|
Qualcomm Trilok Soni <tsoni@codeaurora.org>
|
||||||
|
|
||||||
Microsoft Sasha Levin <sashal@kernel.org>
|
Microsoft James Morris <jamorris@linux.microsoft.com>
|
||||||
VMware
|
VMware
|
||||||
Xen Andrew Cooper <andrew.cooper3@citrix.com>
|
Xen Andrew Cooper <andrew.cooper3@citrix.com>
|
||||||
|
|
||||||
Canonical Tyler Hicks <tyhicks@canonical.com>
|
Canonical John Johansen <john.johansen@canonical.com>
|
||||||
Debian Ben Hutchings <ben@decadent.org.uk>
|
Debian Ben Hutchings <ben@decadent.org.uk>
|
||||||
Oracle Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
Oracle Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||||||
Red Hat Josh Poimboeuf <jpoimboe@redhat.com>
|
Red Hat Josh Poimboeuf <jpoimboe@redhat.com>
|
||||||
SUSE Jiri Kosina <jkosina@suse.cz>
|
SUSE Jiri Kosina <jkosina@suse.cz>
|
||||||
|
|
||||||
Amazon Peter Bowen <pzb@amzn.com>
|
Amazon
|
||||||
Google Kees Cook <keescook@chromium.org>
|
Google Kees Cook <keescook@chromium.org>
|
||||||
============= ========================================================
|
============= ========================================================
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ CVE分配
|
||||||
VMware
|
VMware
|
||||||
Xen Andrew Cooper <andrew.cooper3@citrix.com>
|
Xen Andrew Cooper <andrew.cooper3@citrix.com>
|
||||||
|
|
||||||
Canonical Tyler Hicks <tyhicks@canonical.com>
|
Canonical John Johansen <john.johansen@canonical.com>
|
||||||
Debian Ben Hutchings <ben@decadent.org.uk>
|
Debian Ben Hutchings <ben@decadent.org.uk>
|
||||||
Oracle Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
Oracle Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||||||
Red Hat Josh Poimboeuf <jpoimboe@redhat.com>
|
Red Hat Josh Poimboeuf <jpoimboe@redhat.com>
|
||||||
|
|
|
||||||
22
MAINTAINERS
22
MAINTAINERS
|
|
@ -3909,7 +3909,7 @@ S: Supported
|
||||||
F: Documentation/filesystems/ceph.txt
|
F: Documentation/filesystems/ceph.txt
|
||||||
F: fs/ceph/
|
F: fs/ceph/
|
||||||
|
|
||||||
CERTIFICATE HANDLING:
|
CERTIFICATE HANDLING
|
||||||
M: David Howells <dhowells@redhat.com>
|
M: David Howells <dhowells@redhat.com>
|
||||||
M: David Woodhouse <dwmw2@infradead.org>
|
M: David Woodhouse <dwmw2@infradead.org>
|
||||||
L: keyrings@vger.kernel.org
|
L: keyrings@vger.kernel.org
|
||||||
|
|
@ -3919,7 +3919,7 @@ F: certs/
|
||||||
F: scripts/sign-file.c
|
F: scripts/sign-file.c
|
||||||
F: scripts/extract-cert.c
|
F: scripts/extract-cert.c
|
||||||
|
|
||||||
CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
|
CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM
|
||||||
L: devel@driverdev.osuosl.org
|
L: devel@driverdev.osuosl.org
|
||||||
S: Obsolete
|
S: Obsolete
|
||||||
F: drivers/staging/wusbcore/
|
F: drivers/staging/wusbcore/
|
||||||
|
|
@ -7047,7 +7047,7 @@ L: kvm@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/uio/uio_pci_generic.c
|
F: drivers/uio/uio_pci_generic.c
|
||||||
|
|
||||||
GENERIC VDSO LIBRARY:
|
GENERIC VDSO LIBRARY
|
||||||
M: Andy Lutomirski <luto@kernel.org>
|
M: Andy Lutomirski <luto@kernel.org>
|
||||||
M: Thomas Gleixner <tglx@linutronix.de>
|
M: Thomas Gleixner <tglx@linutronix.de>
|
||||||
M: Vincenzo Frascino <vincenzo.frascino@arm.com>
|
M: Vincenzo Frascino <vincenzo.frascino@arm.com>
|
||||||
|
|
@ -9278,7 +9278,7 @@ F: include/keys/trusted-type.h
|
||||||
F: security/keys/trusted.c
|
F: security/keys/trusted.c
|
||||||
F: include/keys/trusted.h
|
F: include/keys/trusted.h
|
||||||
|
|
||||||
KEYS/KEYRINGS:
|
KEYS/KEYRINGS
|
||||||
M: David Howells <dhowells@redhat.com>
|
M: David Howells <dhowells@redhat.com>
|
||||||
M: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
M: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||||
L: keyrings@vger.kernel.org
|
L: keyrings@vger.kernel.org
|
||||||
|
|
@ -11484,7 +11484,7 @@ F: drivers/scsi/mac_scsi.*
|
||||||
F: drivers/scsi/sun3_scsi.*
|
F: drivers/scsi/sun3_scsi.*
|
||||||
F: drivers/scsi/sun3_scsi_vme.c
|
F: drivers/scsi/sun3_scsi_vme.c
|
||||||
|
|
||||||
NCSI LIBRARY:
|
NCSI LIBRARY
|
||||||
M: Samuel Mendoza-Jonas <sam@mendozajonas.com>
|
M: Samuel Mendoza-Jonas <sam@mendozajonas.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: net/ncsi/
|
F: net/ncsi/
|
||||||
|
|
@ -13512,7 +13512,7 @@ L: linuxppc-dev@lists.ozlabs.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/block/ps3vram.c
|
F: drivers/block/ps3vram.c
|
||||||
|
|
||||||
PSAMPLE PACKET SAMPLING SUPPORT:
|
PSAMPLE PACKET SAMPLING SUPPORT
|
||||||
M: Yotam Gigi <yotam.gi@gmail.com>
|
M: Yotam Gigi <yotam.gi@gmail.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: net/psample
|
F: net/psample
|
||||||
|
|
@ -17080,7 +17080,7 @@ S: Maintained
|
||||||
F: Documentation/admin-guide/ufs.rst
|
F: Documentation/admin-guide/ufs.rst
|
||||||
F: fs/ufs/
|
F: fs/ufs/
|
||||||
|
|
||||||
UHID USERSPACE HID IO DRIVER:
|
UHID USERSPACE HID IO DRIVER
|
||||||
M: David Herrmann <dh.herrmann@googlemail.com>
|
M: David Herrmann <dh.herrmann@googlemail.com>
|
||||||
L: linux-input@vger.kernel.org
|
L: linux-input@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
@ -17094,18 +17094,18 @@ S: Maintained
|
||||||
F: drivers/usb/common/ulpi.c
|
F: drivers/usb/common/ulpi.c
|
||||||
F: include/linux/ulpi/
|
F: include/linux/ulpi/
|
||||||
|
|
||||||
ULTRA-WIDEBAND (UWB) SUBSYSTEM:
|
ULTRA-WIDEBAND (UWB) SUBSYSTEM
|
||||||
L: devel@driverdev.osuosl.org
|
L: devel@driverdev.osuosl.org
|
||||||
S: Obsolete
|
S: Obsolete
|
||||||
F: drivers/staging/uwb/
|
F: drivers/staging/uwb/
|
||||||
|
|
||||||
UNICODE SUBSYSTEM:
|
UNICODE SUBSYSTEM
|
||||||
M: Gabriel Krisman Bertazi <krisman@collabora.com>
|
M: Gabriel Krisman Bertazi <krisman@collabora.com>
|
||||||
L: linux-fsdevel@vger.kernel.org
|
L: linux-fsdevel@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: fs/unicode/
|
F: fs/unicode/
|
||||||
|
|
||||||
UNICORE32 ARCHITECTURE:
|
UNICORE32 ARCHITECTURE
|
||||||
M: Guan Xuetao <gxt@pku.edu.cn>
|
M: Guan Xuetao <gxt@pku.edu.cn>
|
||||||
W: http://mprc.pku.edu.cn/~guanxuetao/linux
|
W: http://mprc.pku.edu.cn/~guanxuetao/linux
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
@ -17791,7 +17791,7 @@ F: include/linux/vbox_utils.h
|
||||||
F: include/uapi/linux/vbox*.h
|
F: include/uapi/linux/vbox*.h
|
||||||
F: drivers/virt/vboxguest/
|
F: drivers/virt/vboxguest/
|
||||||
|
|
||||||
VIRTUAL BOX SHARED FOLDER VFS DRIVER:
|
VIRTUAL BOX SHARED FOLDER VFS DRIVER
|
||||||
M: Hans de Goede <hdegoede@redhat.com>
|
M: Hans de Goede <hdegoede@redhat.com>
|
||||||
L: linux-fsdevel@vger.kernel.org
|
L: linux-fsdevel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ config FSI_MASTER_AST_CF
|
||||||
|
|
||||||
config FSI_MASTER_ASPEED
|
config FSI_MASTER_ASPEED
|
||||||
tristate "FSI ASPEED master"
|
tristate "FSI ASPEED master"
|
||||||
|
depends on HAS_IOMEM
|
||||||
help
|
help
|
||||||
This option enables a FSI master that is present behind an OPB bridge
|
This option enables a FSI master that is present behind an OPB bridge
|
||||||
in the AST2600.
|
in the AST2600.
|
||||||
|
|
|
||||||
|
|
@ -598,7 +598,9 @@ int hl_device_set_debug_mode(struct hl_device *hdev, bool enable)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
hdev->asic_funcs->halt_coresight(hdev);
|
if (!hdev->hard_reset_pending)
|
||||||
|
hdev->asic_funcs->halt_coresight(hdev);
|
||||||
|
|
||||||
hdev->in_debug = 0;
|
hdev->in_debug = 0;
|
||||||
|
|
||||||
goto out;
|
goto out;
|
||||||
|
|
@ -1189,6 +1191,7 @@ int hl_device_init(struct hl_device *hdev, struct class *hclass)
|
||||||
if (hdev->asic_funcs->get_hw_state(hdev) == HL_DEVICE_HW_STATE_DIRTY) {
|
if (hdev->asic_funcs->get_hw_state(hdev) == HL_DEVICE_HW_STATE_DIRTY) {
|
||||||
dev_info(hdev->dev,
|
dev_info(hdev->dev,
|
||||||
"H/W state is dirty, must reset before initializing\n");
|
"H/W state is dirty, must reset before initializing\n");
|
||||||
|
hdev->asic_funcs->halt_engines(hdev, true);
|
||||||
hdev->asic_funcs->hw_fini(hdev, true);
|
hdev->asic_funcs->hw_fini(hdev, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -895,6 +895,11 @@ void goya_init_dma_qmans(struct hl_device *hdev)
|
||||||
*/
|
*/
|
||||||
static void goya_disable_external_queues(struct hl_device *hdev)
|
static void goya_disable_external_queues(struct hl_device *hdev)
|
||||||
{
|
{
|
||||||
|
struct goya_device *goya = hdev->asic_specific;
|
||||||
|
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_DMA))
|
||||||
|
return;
|
||||||
|
|
||||||
WREG32(mmDMA_QM_0_GLBL_CFG0, 0);
|
WREG32(mmDMA_QM_0_GLBL_CFG0, 0);
|
||||||
WREG32(mmDMA_QM_1_GLBL_CFG0, 0);
|
WREG32(mmDMA_QM_1_GLBL_CFG0, 0);
|
||||||
WREG32(mmDMA_QM_2_GLBL_CFG0, 0);
|
WREG32(mmDMA_QM_2_GLBL_CFG0, 0);
|
||||||
|
|
@ -956,6 +961,11 @@ static int goya_stop_external_queues(struct hl_device *hdev)
|
||||||
{
|
{
|
||||||
int rc, retval = 0;
|
int rc, retval = 0;
|
||||||
|
|
||||||
|
struct goya_device *goya = hdev->asic_specific;
|
||||||
|
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_DMA))
|
||||||
|
return retval;
|
||||||
|
|
||||||
rc = goya_stop_queue(hdev,
|
rc = goya_stop_queue(hdev,
|
||||||
mmDMA_QM_0_GLBL_CFG1,
|
mmDMA_QM_0_GLBL_CFG1,
|
||||||
mmDMA_QM_0_CP_STS,
|
mmDMA_QM_0_CP_STS,
|
||||||
|
|
@ -1744,9 +1754,18 @@ void goya_init_tpc_qmans(struct hl_device *hdev)
|
||||||
*/
|
*/
|
||||||
static void goya_disable_internal_queues(struct hl_device *hdev)
|
static void goya_disable_internal_queues(struct hl_device *hdev)
|
||||||
{
|
{
|
||||||
|
struct goya_device *goya = hdev->asic_specific;
|
||||||
|
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_MME))
|
||||||
|
goto disable_tpc;
|
||||||
|
|
||||||
WREG32(mmMME_QM_GLBL_CFG0, 0);
|
WREG32(mmMME_QM_GLBL_CFG0, 0);
|
||||||
WREG32(mmMME_CMDQ_GLBL_CFG0, 0);
|
WREG32(mmMME_CMDQ_GLBL_CFG0, 0);
|
||||||
|
|
||||||
|
disable_tpc:
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_TPC))
|
||||||
|
return;
|
||||||
|
|
||||||
WREG32(mmTPC0_QM_GLBL_CFG0, 0);
|
WREG32(mmTPC0_QM_GLBL_CFG0, 0);
|
||||||
WREG32(mmTPC0_CMDQ_GLBL_CFG0, 0);
|
WREG32(mmTPC0_CMDQ_GLBL_CFG0, 0);
|
||||||
|
|
||||||
|
|
@ -1782,8 +1801,12 @@ static void goya_disable_internal_queues(struct hl_device *hdev)
|
||||||
*/
|
*/
|
||||||
static int goya_stop_internal_queues(struct hl_device *hdev)
|
static int goya_stop_internal_queues(struct hl_device *hdev)
|
||||||
{
|
{
|
||||||
|
struct goya_device *goya = hdev->asic_specific;
|
||||||
int rc, retval = 0;
|
int rc, retval = 0;
|
||||||
|
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_MME))
|
||||||
|
goto stop_tpc;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Each queue (QMAN) is a separate H/W logic. That means that each
|
* Each queue (QMAN) is a separate H/W logic. That means that each
|
||||||
* QMAN can be stopped independently and failure to stop one does NOT
|
* QMAN can be stopped independently and failure to stop one does NOT
|
||||||
|
|
@ -1810,6 +1833,10 @@ static int goya_stop_internal_queues(struct hl_device *hdev)
|
||||||
retval = -EIO;
|
retval = -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stop_tpc:
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_TPC))
|
||||||
|
return retval;
|
||||||
|
|
||||||
rc = goya_stop_queue(hdev,
|
rc = goya_stop_queue(hdev,
|
||||||
mmTPC0_QM_GLBL_CFG1,
|
mmTPC0_QM_GLBL_CFG1,
|
||||||
mmTPC0_QM_CP_STS,
|
mmTPC0_QM_CP_STS,
|
||||||
|
|
@ -1975,6 +2002,11 @@ static int goya_stop_internal_queues(struct hl_device *hdev)
|
||||||
|
|
||||||
static void goya_dma_stall(struct hl_device *hdev)
|
static void goya_dma_stall(struct hl_device *hdev)
|
||||||
{
|
{
|
||||||
|
struct goya_device *goya = hdev->asic_specific;
|
||||||
|
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_DMA))
|
||||||
|
return;
|
||||||
|
|
||||||
WREG32(mmDMA_QM_0_GLBL_CFG1, 1 << DMA_QM_0_GLBL_CFG1_DMA_STOP_SHIFT);
|
WREG32(mmDMA_QM_0_GLBL_CFG1, 1 << DMA_QM_0_GLBL_CFG1_DMA_STOP_SHIFT);
|
||||||
WREG32(mmDMA_QM_1_GLBL_CFG1, 1 << DMA_QM_1_GLBL_CFG1_DMA_STOP_SHIFT);
|
WREG32(mmDMA_QM_1_GLBL_CFG1, 1 << DMA_QM_1_GLBL_CFG1_DMA_STOP_SHIFT);
|
||||||
WREG32(mmDMA_QM_2_GLBL_CFG1, 1 << DMA_QM_2_GLBL_CFG1_DMA_STOP_SHIFT);
|
WREG32(mmDMA_QM_2_GLBL_CFG1, 1 << DMA_QM_2_GLBL_CFG1_DMA_STOP_SHIFT);
|
||||||
|
|
@ -1984,6 +2016,11 @@ static void goya_dma_stall(struct hl_device *hdev)
|
||||||
|
|
||||||
static void goya_tpc_stall(struct hl_device *hdev)
|
static void goya_tpc_stall(struct hl_device *hdev)
|
||||||
{
|
{
|
||||||
|
struct goya_device *goya = hdev->asic_specific;
|
||||||
|
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_TPC))
|
||||||
|
return;
|
||||||
|
|
||||||
WREG32(mmTPC0_CFG_TPC_STALL, 1 << TPC0_CFG_TPC_STALL_V_SHIFT);
|
WREG32(mmTPC0_CFG_TPC_STALL, 1 << TPC0_CFG_TPC_STALL_V_SHIFT);
|
||||||
WREG32(mmTPC1_CFG_TPC_STALL, 1 << TPC1_CFG_TPC_STALL_V_SHIFT);
|
WREG32(mmTPC1_CFG_TPC_STALL, 1 << TPC1_CFG_TPC_STALL_V_SHIFT);
|
||||||
WREG32(mmTPC2_CFG_TPC_STALL, 1 << TPC2_CFG_TPC_STALL_V_SHIFT);
|
WREG32(mmTPC2_CFG_TPC_STALL, 1 << TPC2_CFG_TPC_STALL_V_SHIFT);
|
||||||
|
|
@ -1996,6 +2033,11 @@ static void goya_tpc_stall(struct hl_device *hdev)
|
||||||
|
|
||||||
static void goya_mme_stall(struct hl_device *hdev)
|
static void goya_mme_stall(struct hl_device *hdev)
|
||||||
{
|
{
|
||||||
|
struct goya_device *goya = hdev->asic_specific;
|
||||||
|
|
||||||
|
if (!(goya->hw_cap_initialized & HW_CAP_MME))
|
||||||
|
return;
|
||||||
|
|
||||||
WREG32(mmMME_STALL, 0xFFFFFFFF);
|
WREG32(mmMME_STALL, 0xFFFFFFFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4648,8 +4690,6 @@ static int goya_memset_device_memory(struct hl_device *hdev, u64 addr, u64 size,
|
||||||
|
|
||||||
rc = goya_send_job_on_qman0(hdev, job);
|
rc = goya_send_job_on_qman0(hdev, job);
|
||||||
|
|
||||||
hl_cb_put(job->patched_cb);
|
|
||||||
|
|
||||||
hl_debugfs_remove_job(hdev, job);
|
hl_debugfs_remove_job(hdev, job);
|
||||||
kfree(job);
|
kfree(job);
|
||||||
cb->cs_cnt--;
|
cb->cs_cnt--;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue