/linux/arch/powerpc/platforms/powernv/ |
H A D | pci-cxl.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 2014-2016 IBM Corp. 7 #include <misc/cxl-base.h> 8 #include <asm/pnv-pci.h> 15 struct pci_controller *hose = pci_bus_to_host(dev->bus); in pnv_phb_to_cxl_mode() 16 struct pnv_phb *phb = hose->private_data; in pnv_phb_to_cxl_mode() 22 return -ENODEV; in pnv_phb_to_cxl_mode() 26 rc = opal_pci_set_phb_cxl_mode(phb->opal_id, mode, pe->pe_number); in pnv_phb_to_cxl_mode() 28 dev_err(&dev->dev, "Required cxl mode not supported by firmware - update skiboot\n"); in pnv_phb_to_cxl_mode() 30 dev_err(&dev->dev, "opal_pci_set_phb_cxl_mode failed: %i\n", rc); in pnv_phb_to_cxl_mode() [all …]
|
/linux/tools/testing/selftests/kvm/aarch64/ |
H A D | vgic_irq.c |
|
/linux/drivers/gpio/ |
H A D | gpio-reg.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * gpio-reg: single register individually fixed-direction GPIOs 19 #include <linux/gpio/gpio-reg.h> 28 const int *irqs; member 37 return r->direction & BIT(offset) ? GPIO_LINE_DIRECTION_IN : in gpio_reg_get_direction() 46 if (r->direction & BIT(offset)) in gpio_reg_direction_output() 47 return -ENOTSUPP; in gpio_reg_direction_output() 49 gc->set(gc, offset, value); in gpio_reg_direction_output() 57 return r->direction & BIT(offset) ? 0 : -ENOTSUPP; in gpio_reg_direction_input() 66 spin_lock_irqsave(&r->lock, flags); in gpio_reg_set() [all …]
|
/linux/drivers/scsi/cxlflash/ |
H A D | ocxl_hw.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 29 * Pseudo-filesystem to allocate inodes. 39 return init_pseudo(fc, OCXLFLASH_FS_MAGIC) ? 0 : -ENOMEM; in ocxlflash_fs_init_fs_context() 50 * ocxlflash_release_mapping() - release the memory mapping 55 if (ctx->mapping) in ocxlflash_release_mapping() 57 ctx->mapping = NULL; in ocxlflash_release_mapping() 61 * ocxlflash_getfile() - allocate pseudo filesystem, inode, and the file 78 if (fops->owner && !try_module_get(fops->owner)) { in ocxlflash_getfile() 80 rc = -ENOENT; in ocxlflash_getfile() 92 inode = alloc_anon_inode(ocxlflash_vfs_mount->mnt_sb); in ocxlflash_getfile() [all …]
|
H A D | cxl_hw.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 37 static int cxlflash_map_afu_irq(void *ctx_cookie, int num, in cxlflash_map_afu_irq() argument 40 return cxl_map_afu_irq(ctx_cookie, num, handler, cookie, name); in cxlflash_map_afu_irq() 43 static void cxlflash_unmap_afu_irq(void *ctx_cookie, int num, void *cookie) in cxlflash_unmap_afu_irq() argument 45 cxl_unmap_afu_irq(ctx_cookie, num, cookie); in cxlflash_unmap_afu_irq() 100 static int cxlflash_allocate_afu_irqs(void *ctx_cookie, int num) in cxlflash_allocate_afu_irqs() argument 102 return cxl_allocate_afu_irqs(ctx_cookie, num); in cxlflash_allocate_afu_irqs() 131 static int cxlflash_start_work(void *ctx_cookie, u64 irqs) in cxlflash_start_work() argument 135 work.num_interrupts = irqs; in cxlflash_start_work()
|
H A D | backend.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 22 int (*map_afu_irq)(void *ctx_cookie, int num, irq_handler_t handler, 24 void (*unmap_afu_irq)(void *ctx_cookie, int num, void *cookie); 36 int (*allocate_afu_irqs)(void *ctx_cookie, int num); 43 int (*start_work)(void *ctx_cookie, u64 irqs);
|
/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | fsl,irqsteer.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/fsl,irqsteer.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lucas Stach <l.stach@pengutronix.de> 15 - const: fsl,imx-irqsteer 16 - items: 17 - enum: 18 - fsl,imx8m-irqsteer 19 - fsl,imx8mp-irqsteer [all …]
|
H A D | img,pdc-intc.txt | 10 - compatible: Specifies the compatibility list for the interrupt controller. 11 The type shall be <string> and the value shall include "img,pdc-intc". 13 - reg: Specifies the base PDC physical address(s) and size(s) of the 14 addressable register space. The type shall be <prop-encoded-array>. 16 - interrupt-controller: The presence of this property identifies the node 19 - #interrupt-cells: Specifies the number of cells needed to encode an 22 - num-perips: Number of waking peripherals. 24 - num-syswakes: Number of SysWake inputs. 26 - interrupts: List of interrupt specifiers. The first specifier shall be the 34 - <1st-cell>: The interrupt-number that identifies the interrupt source. [all …]
|
/linux/arch/powerpc/sysdev/ |
H A D | msi_bitmap.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright 2006-2008, Michael Ellerman, IBM Corporation. 15 int msi_bitmap_alloc_hwirqs(struct msi_bitmap *bmp, int num) in msi_bitmap_alloc_hwirqs() argument 18 int offset, order = get_count_order(num); in msi_bitmap_alloc_hwirqs() 20 spin_lock_irqsave(&bmp->lock, flags); in msi_bitmap_alloc_hwirqs() 22 offset = bitmap_find_next_zero_area(bmp->bitmap, bmp->irq_coun in msi_bitmap_alloc_hwirqs() 40 msi_bitmap_free_hwirqs(struct msi_bitmap * bmp,unsigned int offset,unsigned int num) msi_bitmap_free_hwirqs() argument [all...] |
/linux/drivers/usb/gadget/udc/ |
H A D | goku_udc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Toshiba TC86C001 ("Goku-S") USB Device Controller driver 5 * Copyright (C) 2000-2002 Lineo 12 * This device has ep0 and three semi-configurable bulk/interrupt endpoints. 14 * - Endpoint numbering is fixed: ep{1,2,3}-bulk 15 * - Gadget drivers can choose ep maxpacket (8/16/32/64) 16 * - Gadget drivers can choose direction (IN, OUT) 17 * - DMA works with ep1 (OUT transfers) and ep2 (IN transfers). 21 // #define USB_TRACE /* packet-level success messages */ 49 #define DRIVER_VERSION "30-Oct 2003" [all …]
|
H A D | net2280.c | 1 // SPDX-License-Identifier: GPL-2.0+ 27 * Copyright (C) 2003-2005 PLX Technology, Inc. 28 * Copyright (C) 2014 Ricardo Ribalda - Qtechnology/AS 39 #include <linux/dma-mapping.h> 87 EP_INFO("ep-a", 89 EP_INFO("ep-b", 91 EP_INFO("ep-c", 93 EP_INFO("ep-d", 95 EP_INFO("ep-e", 97 EP_INFO("ep-f", [all …]
|
/linux/drivers/irqchip/ |
H A D | irq-imgpdc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright 2010-2013 Imagination Technologies Ltd. 66 * struct pdc_intc_priv - private pdc interrupt data. 71 * @domain: IRQ domain for PDC peripheral and syswake IRQs. 92 iowrite32(data, priv->pdc_base + reg_offs); in pdc_write() 98 return ioread32(priv->pdc_base + reg_offs); in pdc_read() 112 return hw - SYS0_HWIRQ; in hwirq_to_syswake() 122 return (struct pdc_intc_priv *)data->domain->host_data; in irqd_to_priv() 135 raw_spin_lock(&priv->lock); in perip_irq_mask() 136 priv->irq_route &= ~data->mask; in perip_irq_mask() [all …]
|
/linux/drivers/base/ |
H A D | platform.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * platform.c - platform 'pseudo' bus for legacy devices 5 * Copyright (c) 2002-3 Patrick Mochel 6 * Copyright (c) 2002-3 Open Source Development Labs 8 * Please see Documentation/driver-api/driver-model/platform.rst for more 20 #include <linux/dma-mapping.h> 28 #include <linux/clk/clk-conf.h> 34 #include <linux/dma-map-ops.h> 48 * platform_get_resource - get a resource for a device 51 * @num: resource index [all …]
|
/linux/arch/powerpc/include/asm/ |
H A D | pnv-pci.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 13 #include <misc/cxl-base.h> 14 #include <asm/opal-api.h> 33 int pnv_cxl_alloc_hwirqs(struct pci_dev *dev, int num); 34 void pnv_cxl_release_hwirqs(struct pci_dev *dev, int hwirq, int num); 41 int pnv_cxl_alloc_hwirq_ranges(struct cxl_irq_ranges *irqs, 42 struct pci_dev *dev, int num); 43 void pnv_cxl_release_hwirq_ranges(struct cxl_irq_ranges *irqs,
|
/linux/drivers/misc/cxl/ |
H A D | api.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 20 * Since we want to track memory mappings to be able to force-unmap 26 * Therefore we implement our own simple pseudo-filesystem and inode 28 * meta-data associated with it (address_space) and it is shared by 40 return init_pseudo(fc, CXL_PSEUDO_FS_MAGIC) ? 0 : -ENOMEM; in cxl_fs_init_fs_context() 53 if (ctx->kernelapi && ctx->mapping) in cxl_release_mapping() 67 if (fops->owner && !try_module_get(fops->owner)) in cxl_getfile() 68 return ERR_PTR(-ENOENT); in cxl_getfile() 77 inode = alloc_anon_inode(cxl_vfs_mount->mnt_sb); in cxl_getfile() 88 file->private_data = priv; in cxl_getfile() [all …]
|
H A D | guest.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 28 if (afu->phb == NULL) in pci_error_handlers() 31 list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { in pci_error_handlers() 32 afu_drv = to_pci_driver(afu_dev->dev.driver); in pci_error_handlers() 36 err_handler = afu_drv->err_handler; in pci_error_handlers() 39 afu_dev->error_state = state; in pci_error_handlers() 42 err_handler->error_detected) in pci_error_handlers() 43 err_handler->error_detected(afu_dev, state); in pci_error_handlers() 46 afu_dev->error_state = state; in pci_error_handlers() 49 err_handler->slot_reset) in pci_error_handlers() [all …]
|
/linux/include/misc/ |
H A D | cxl.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 35 * - cxl_dev_context_init() 36 * - cxl_start_context() 37 * - cxl_stop_context() 38 * - cxl_start_context() 39 * - cxl_stop_context() 41 * - cxl_release_context() 52 * Once a context has been inited, IRQs may be configured. Firstly these IRQs 56 * These IRQs can be unmapped (cxl_unmap_afu_irq()) and finally released 92 * Allocate AFU interrupts for this context. num=0 will allocate the default [all …]
|
/linux/kernel/irq/ |
H A D | matrix.c | 1 // SPDX-License-Identifier: GPL-2.0 41 * irq_alloc_matrix - Allocate a irq_matrix structure and initialize it 58 m->system_map = &m->scratch_map[matrix_size]; in irq_alloc_matrix() 60 m->matrix_bits = matrix_bits; in irq_alloc_matrix() 61 m->alloc_start = alloc_start; in irq_alloc_matrix() 62 m->alloc_end = alloc_end; in irq_alloc_matrix() 63 m->alloc_size = alloc_end - alloc_start; in irq_alloc_matrix() 64 m->maps = __alloc_percpu(struct_size(m->maps, alloc_map, matrix_size * 2), in irq_alloc_matrix() 65 __alignof__(*m->maps)); in irq_alloc_matrix() 66 if (!m->maps) { in irq_alloc_matrix() [all …]
|
/linux/drivers/bcma/ |
H A D | driver_gpio.c | 6 * Copyright 2012, Hauke Mehrtens <hauke@hauke-m.de> 101 .name = "BCMA-GPIO", 111 struct gpio_chip *gc = &cc->gpio; in bcma_gpio_irq_handler() 115 unsigned long irqs = (val ^ pol) & mask; in bcma_gpio_irq_handler() local 118 if (!irqs) in bcma_gpio_irq_handler() 121 for_each_set_bit(gpio, &irqs, gc->ngpio) in bcma_gpio_irq_handler() 122 generic_handle_domain_irq_safe(gc->irq.domain, gpio); in bcma_gpio_irq_handler() 123 bcma_chipco_gpio_polarity(cc, irqs, val & irqs); in bcma_gpio_irq_handler() 130 struct gpio_chip *chip = &cc->gpio; in bcma_gpio_irq_init() 131 struct gpio_irq_chip *girq = &chip->irq; in bcma_gpio_irq_init() [all …]
|
/linux/include/linux/gpio/ |
H A D | gpio-reg.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 13 int base, int num, const char *label, u32 direction, u32 def_out, 14 const char *const *names, struct irq_domain *irqdom, const int *irqs);
|
/linux/arch/arm/mach-sa1100/ |
H A D | neponset.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * linux/arch/arm/mach-sa1100/neponset.c 7 #include <linux/gpio/gpio-reg.h> 20 #include <asm/mach-types.h> 28 #include <mach/irqs.h> 85 .dev_id = "sa11x0-uart.1", 87 GPIO_LOOKUP("neponset-mdm-ctl0", 2, "rts", GPIO_ACTIVE_LOW), 88 GPIO_LOOKUP("neponset-mdm-ctl0", 3, "dtr", GPIO_ACTIVE_LOW), 89 GPIO_LOOKUP("neponset-mdm-ctl1", 3, "cts", GPIO_ACTIVE_LOW), 90 GPIO_LOOKUP("neponset-mdm-ctl1", 4, "dsr", GPIO_ACTIVE_LOW), [all …]
|
/linux/drivers/mfd/ |
H A D | cs42l43-sdw.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2022-2023 Cirrus Logic, Inc. and 13 #include <linux/mfd/cs42l43-regs.h> 25 .num = port, \ 63 struct sdw_slave_prop *prop = &sdw->prop; in cs42l43_read_prop() 64 struct device *dev = &sdw->dev; in cs42l43_read_prop() 67 prop->use_domain_irq = true; in cs42l43_read_prop() 68 prop->paging_support = true; in cs42l43_read_prop() 69 prop->wake_capable = true; in cs42l43_read_prop() 70 prop->quirks = SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY; in cs42l43_read_prop() [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx8qm-ss-lvds.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 9 clock-indices = <IMX_LPCG_CLK_4>; 15 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 21 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 35 interrupt-parent = <&irqsteer_lvds0>; 37 irqsteer_lvds0: interrupt-controller@56240000 { 38 compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; 41 interrupt-controller; 42 interrupt-parent = <&gic>; 43 #interrupt-cells = <1>; [all …]
|
/linux/drivers/net/ethernet/emulex/benet/ |
H A D | be.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2005 - 2016 Broadcom 7 * linux-drivers@emulex.com 31 #include <linux/hwmon-sysfs.h> 60 /* Number of bytes of an RX frame that are copied to skb->data */ 67 #define BE_MAX_MTU (BE_MAX_JUMBO_FRAME_SIZE - \ 71 #define BE_MAX_GSO_SIZE (65535 - 2 * VLAN_HLEN) 105 #define RX_FRAGS_REFILL_WM (RX_Q_LEN - MAX_RX_POST) 111 #define CNTL_SERIAL_NUM_WORD_SZ (sizeof(u16)) /* Byte-sz of serial num word */ 136 BUG_ON(limit & (limit - 1)); in MODULO() [all …]
|
/linux/drivers/tty/serial/ |
H A D | imx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 31 #include <linux/dma-mapping.h> 34 #include <linux/dma/imx-dma.h> 126 #define UFCR_RFDIV_REG(x) (((x) < 7 ? 6 - (x) : 6) << 7) 162 /* We've been assigned a range on the "Low-density serial ports" major */ 175 #define DRIVER_NAME "IMX-uart" 259 * compatible to fsl,imx6q-uart, but not fsl,imx21-uart, while the 260 * original imx6q's UART is compatible to fsl,imx21-uart. This driver 263 { .compatible = "fsl,imx6q-uart", .data = &imx_uart_imx21_devdata, }, 264 { .compatible = "fsl,imx1-uart", .data = &imx_uart_imx1_devdata, }, [all …]
|