/** * Copyright (C) 2008, Creative Technology Ltd. All Rights Reserved. * * This source file is released under GPL v2 license (no other versions). * See the COPYING file included in the main directory of this source * distribution for the license terms and conditions. */ #ifndef _20K2REGISTERS_H_ #define _20K2REGISTERS_H_ /* Timer Registers */ #define WC 0x1b7000 #define TIMR 0x1b7004 # define TIMR_IE (1<<15) # define TIMR_IP (1<<14) #define GIP 0x1b7010 #define GIE 0x1b7014 /* I2C Registers */ #define I2C_IF_ADDRESS 0x1B9000 #define I2C_IF_WDATA 0x1B9004 #define I2C_IF_RDATA 0x1B9008 #define I2C_IF_STATUS 0x1B900C #define I2C_IF_WLOCK 0x1B9010 /* Global Control Registers */ #define GLOBAL_CNTL_GCTL 0x1B7090 /* PLL Registers */ #define PLL_CTL 0x1B7080 #define PLL_STAT 0x1B7084 #define PLL_ENB 0x1B7088 /* SRC Registers */ #define SRC_CTL 0x1A0000 /* 0x1A0000 + (256 * Chn) */ #define SRC_CCR 0x1A0004 /* 0x1A0004 + (256 * Chn) */ #define SRC_IMAP 0x1A0008 /* 0x1A0008 + (256 * Chn) */ #define SRC_CA 0x1A0010 /* 0x1A0010 + (256 * Chn) */ #define SRC_CF 0x1A0014 /* 0x1A0014 + (256 * Chn) */ #define SRC_SA 0x1A0018 /* 0x1A0018 + (256 * Chn) */ #define SRC_LA 0x1A001C /* 0x1A001C + (256 * Chn) */ #define SRC_CTLSWR 0x1A0020 /* 0x1A0020 + (256 * Chn) */ #define SRC_CD 0x1A0080 /* 0x1A0080 + (256 * Chn) + (4 * Regn) */ #define SRC_MCTL 0x1A012C #define SRC_IP 0x1A102C /* 0x1A102C + (256 * Regn) */ #define SRC_ENB 0x1A282C /* 0x1A282C + (256 * Regn) */ #define SRC_ENBSTAT 0x1A202C #define SRC_ENBSA 0x1A232C #define SRC_DN0Z 0x1A0030 #define SRC_DN1Z 0x1A0040 #define SRC_UPZ 0x1A0060 /* GPIO Registers */ #define GPIO_DATA 0x1B7020 #define GPIO_CTRL 0x1B7024 #define GPIO_EXT_DATA 0x1B70A0 /* Virtual memory registers */ #define VMEM_PTPAL 0x1C6300 /* 0x1C6300 + (16 * Chn) */ #define VMEM_PTPAH 0x1C6304 /* 0x1C6304 + (16 * Chn) */ #define VMEM_CTL 0x1C7000 /* Transport Registers */ #define TRANSPORT_ENB 0x1B6000 #define TRANSPORT_CTL 0x1B6004 #define TRANSPORT_INT 0x1B6008 /* Audio IO */ #define AUDIO_IO_AIM 0x1B5000 /* 0x1B5000 + (0x04 * Chn) */ #define AUDIO_IO_TX_CTL 0x1B5400 /* 0x1B5400 + (0x40 * Chn) */ #define AUDIO_IO_TX_CSTAT_L 0x1B5408 /* 0x1B5408 + (0x40 * Chn) */ #define AUDIO_IO_TX_CSTAT_H 0x1B540C /* 0x1B540C + (0x40 * Chn) */ #define AUDIO_IO_RX_CTL 0x1B5410 /* 0x1B5410 + (0x40 * Chn) */ #define AUDIO_IO_RX_SRT_CTL 0x1B5420 /* 0x1B5420 + (0x40 * Chn) */ #define AUDIO_IO_MCLK 0x1B5600 #define AUDIO_IO_TX_BLRCLK 0x1B5604 #define AUDIO_IO_RX_BLRCLK 0x1B5608 /* Mixer */ #define MIXER_AMOPLO 0x130000 /* 0x130000 + (8 * Chn) [4095 : 0] */ #define MIXER_AMOPHI 0x130004 /* 0x130004 + (8 * Chn) [4095 : 0] */ #define MIXER_PRING_LO_HI 0x188000 /* 0x188000 + (4 * Chn) [4095 : 0] */ #define MIXER_PMOPLO 0x138000 /* 0x138000 + (8 * Chn) [4095 : 0] */ #define MIXER_PMOPHI 0x138004 /* 0x138004 + (8 * Chn) [4095 : 0] */ #define MIXER_AR_ENABLE 0x19000C #endif it/sound/usb?h=nds-private-remove&id=bd00fdf198e2da475a2f4265a83686ab42d998a8'>usb/line6
diff options
context:
space:
mode:
authorGreg Kurz <groug@kaod.org>2017-01-24 17:50:26 +0100
committerAlex Williamson <alex.williamson@redhat.com>2017-01-24 10:12:04 -0700
commitbd00fdf198e2da475a2f4265a83686ab42d998a8 (patch)
tree55d55cea56a56eb2b1d4ffdef7ce7f3b37fd8434 /sound/usb/line6
parent7a308bb3016f57e5be11a677d15b821536419d36 (diff)
vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null
The recently added mediated VFIO driver doesn't know about powerpc iommu. It thus doesn't register a struct iommu_table_group in the iommu group upon device creation. The iommu_data pointer hence remains null. This causes a kernel oops when userspace tries to set the iommu type of a container associated with a mediated device to VFIO_SPAPR_TCE_v2_IOMMU. [ 82.585440] mtty mtty: MDEV: Registered [ 87.655522] iommu: Adding device 83b8f4f2-509f-382f-3c1e-e6bfe0fa1001 to group 10 [ 87.655527] vfio_mdev 83b8f4f2-509f-382f-3c1e-e6bfe0fa1001: MDEV: group_id = 10 [ 116.297184] Unable to handle kernel paging request for data at address 0x00000030 [ 116.297389] Faulting instruction address: 0xd000000007870524 [ 116.297465] Oops: Kernel access of bad area, sig: 11 [#1] [ 116.297611] SMP NR_CPUS=2048 [ 116.297611] NUMA [ 116.297627] PowerNV ... [ 116.297954] CPU: 33 PID: 7067 Comm: qemu-system-ppc Not tainted 4.10.0-rc5-mdev-test #8 [ 116.297993] task: c000000e7718b680 task.stack: c000000e77214000 [ 116.298025] NIP: d000000007870524 LR: d000000007870518 CTR: 0000000000000000 [ 116.298064] REGS: c000000e77217990 TRAP: 0300 Not tainted (4.10.0-rc5-mdev-test) [ 116.298103] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE> [ 116.298107] CR: 84004444 XER: 00000000 [ 116.298154] CFAR: c00000000000888c DAR: 0000000000000030 DSISR: 40000000 SOFTE: 1 GPR00: d000000007870518 c000000e77217c10 d00000000787b0ed c000000eed2103c0 GPR04: 0000000000000000 0000000000000000 c000000eed2103e0 0000000f24320000 GPR08: 0000000000000104 0000000000000001 0000000000000000 d0000000078729b0 GPR12: c00000000025b7e0 c00000000fe08400 0000000000000001 000001002d31d100 GPR16: 000001002c22c850 00003ffff315c750 0000000043145680 0000000043141bc0 GPR20: ffffffffffffffed fffffffffffff000 0000000020003b65 d000000007706018 GPR24: c000000f16cf0d98 d000000007706000 c000000003f42980 c000000003f42980 GPR28: c000000f1575ac00 c000000003f429c8 0000000000000000 c000000eed2103c0 [ 116.298504] NIP [d000000007870524] tce_iommu_attach_group+0x10c/0x360 [vfio_iommu_spapr_tce] [ 116.298555] LR [d000000007870518] tce_iommu_attach_group+0x100/0x360 [vfio_iommu_spapr_tce] [ 116.298601] Call Trace: [ 116.298610] [c000000e77217c10] [d000000007870518] tce_iommu_attach_group+0x100/0x360 [vfio_iommu_spapr_tce] (unreliable) [ 116.298671] [c000000e77217cb0] [d0000000077033a0] vfio_fops_unl_ioctl+0x278/0x3e0 [vfio] [ 116.298713] [c000000e77217d40] [c0000000002a3ebc] do_vfs_ioctl+0xcc/0x8b0 [ 116.298745] [c000000e77217de0] [c0000000002a4700] SyS_ioctl+0x60/0xc0 [ 116.298782] [c000000e77217e30] [c00000000000b220] system_call+0x38/0xfc [ 116.298812] Instruction dump: [ 116.298828] 7d3f4b78 409effc8 3d220000 e9298020 3c800140 38a00018 608480c0 e8690028 [ 116.298869] 4800249d e8410018 7c7f1b79 41820230 <e93e0030> 2fa90000 419e0114 e9090020 [ 116.298914] ---[ end trace 1e10b0ced08b9120 ]--- This patch fixes the oops. Reported-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com> Signed-off-by: Greg Kurz <groug@kaod.org> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'sound/usb/line6')