Symbol: sdma
arch/mips/include/asm/octeon/cvmx-address.h
200
} sdma;
arch/mips/include/asm/octeon/cvmx-address.h
265
} sdma;
arch/powerpc/platforms/52xx/mpc52xx_pic.c
135
static struct mpc52xx_sdma __iomem *sdma;
arch/powerpc/platforms/52xx/mpc52xx_pic.c
270
io_be_setbit(&sdma->IntMask, l2irq);
arch/powerpc/platforms/52xx/mpc52xx_pic.c
276
io_be_clrbit(&sdma->IntMask, l2irq);
arch/powerpc/platforms/52xx/mpc52xx_pic.c
282
out_be32(&sdma->IntPend, 1 << l2irq);
arch/powerpc/platforms/52xx/mpc52xx_pic.c
417
sdma = of_iomap(np, 0);
arch/powerpc/platforms/52xx/mpc52xx_pic.c
419
if (!sdma)
arch/powerpc/platforms/52xx/mpc52xx_pic.c
426
out_be32(&sdma->IntPend, 0xffffffff); /* 1 means clear pending */
arch/powerpc/platforms/52xx/mpc52xx_pic.c
427
out_be32(&sdma->IntMask, 0xffffffff); /* 1 means disabled */
arch/powerpc/platforms/52xx/mpc52xx_pic.c
508
status = in_be32(&sdma->IntPend);
arch/s390/include/asm/pci_clp.h
131
u64 sdma; /* start dma as */
arch/s390/pci/pci_clp.c
161
zdev->start_dma = response->sdma;
drivers/dma/imx-sdma.c
1004
emi_2_emi = sdma->script_addrs->ap_2_ap_addr;
drivers/dma/imx-sdma.c
1007
emi_2_per = sdma->script_addrs->bp_2_ap_addr;
drivers/dma/imx-sdma.c
1008
per_2_emi = sdma->script_addrs->ap_2_bp_addr;
drivers/dma/imx-sdma.c
1011
per_2_emi = sdma->script_addrs->firi_2_mcu_addr;
drivers/dma/imx-sdma.c
1012
emi_2_per = sdma->script_addrs->mcu_2_firi_addr;
drivers/dma/imx-sdma.c
1015
per_2_emi = sdma->script_addrs->uart_2_mcu_addr;
drivers/dma/imx-sdma.c
1016
emi_2_per = sdma->script_addrs->mcu_2_app_addr;
drivers/dma/imx-sdma.c
1019
per_2_emi = sdma->script_addrs->uartsh_2_mcu_addr;
drivers/dma/imx-sdma.c
1020
emi_2_per = sdma->script_addrs->mcu_2_shp_addr;
drivers/dma/imx-sdma.c
1023
per_2_emi = sdma->script_addrs->ata_2_mcu_addr;
drivers/dma/imx-sdma.c
1024
emi_2_per = sdma->script_addrs->mcu_2_ata_addr;
drivers/dma/imx-sdma.c
1027
per_2_emi = sdma->script_addrs->app_2_mcu_addr;
drivers/dma/imx-sdma.c
1030
if (sdmac->sdma->drvdata->ecspi_fixed) {
drivers/dma/imx-sdma.c
1031
emi_2_per = sdma->script_addrs->mcu_2_app_addr;
drivers/dma/imx-sdma.c
1033
emi_2_per = sdma->script_addrs->mcu_2_ecspi_addr;
drivers/dma/imx-sdma.c
1041
per_2_emi = sdma->script_addrs->app_2_mcu_addr;
drivers/dma/imx-sdma.c
1042
emi_2_per = sdma->script_addrs->mcu_2_app_addr;
drivers/dma/imx-sdma.c
1045
per_2_emi = sdma->script_addrs->ssish_2_mcu_addr;
drivers/dma/imx-sdma.c
1046
emi_2_per = sdma->script_addrs->mcu_2_ssish_addr;
drivers/dma/imx-sdma.c
1055
per_2_emi = sdma->script_addrs->shp_2_mcu_addr;
drivers/dma/imx-sdma.c
1056
emi_2_per = sdma->script_addrs->mcu_2_shp_addr;
drivers/dma/imx-sdma.c
1059
per_2_emi = sdma->script_addrs->asrc_2_mcu_addr;
drivers/dma/imx-sdma.c
1060
emi_2_per = sdma->script_addrs->asrc_2_mcu_addr;
drivers/dma/imx-sdma.c
1061
per_2_per = sdma->script_addrs->per_2_per_addr;
drivers/dma/imx-sdma.c
1065
per_2_emi = sdma->script_addrs->shp_2_mcu_addr;
drivers/dma/imx-sdma.c
1066
emi_2_per = sdma->script_addrs->mcu_2_shp_addr;
drivers/dma/imx-sdma.c
1067
per_2_per = sdma->script_addrs->per_2_per_addr;
drivers/dma/imx-sdma.c
1070
per_2_emi = sdma->script_addrs->mshc_2_mcu_addr;
drivers/dma/imx-sdma.c
1071
emi_2_per = sdma->script_addrs->mcu_2_mshc_addr;
drivers/dma/imx-sdma.c
1074
per_2_emi = sdma->script_addrs->dptc_dvfs_addr;
drivers/dma/imx-sdma.c
1077
per_2_emi = sdma->script_addrs->spdif_2_mcu_addr;
drivers/dma/imx-sdma.c
1078
emi_2_per = sdma->script_addrs->mcu_2_spdif_addr;
drivers/dma/imx-sdma.c
1081
emi_2_per = sdma->script_addrs->ext_mem_2_ipu_addr;
drivers/dma/imx-sdma.c
1084
per_2_emi = sdma->script_addrs->sai_2_mcu_addr;
drivers/dma/imx-sdma.c
1085
emi_2_per = sdma->script_addrs->mcu_2_sai_addr;
drivers/dma/imx-sdma.c
1088
per_2_emi = sdma->script_addrs->i2c_2_mcu_addr;
drivers/dma/imx-sdma.c
1089
emi_2_per = sdma->script_addrs->mcu_2_i2c_addr;
drivers/dma/imx-sdma.c
1093
emi_2_per = sdma->script_addrs->hdmi_dma_addr;
drivers/dma/imx-sdma.c
1097
dev_err(sdma->dev, "Unsupported transfer type %d\n",
drivers/dma/imx-sdma.c
1112
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1115
struct sdma_context_data *context = sdma->context;
drivers/dma/imx-sdma.c
1116
struct sdma_buffer_descriptor *bd0 = sdma->bd0;
drivers/dma/imx-sdma.c
1132
dev_dbg(sdma->dev, "load_address = %d\n", load_address);
drivers/dma/imx-sdma.c
1133
dev_dbg(sdma->dev, "wml = 0x%08x\n", (u32)sdmac->watermark_level);
drivers/dma/imx-sdma.c
1134
dev_dbg(sdma->dev, "shp_addr = 0x%08x\n", sdmac->shp_addr);
drivers/dma/imx-sdma.c
1135
dev_dbg(sdma->dev, "per_addr = 0x%08x\n", sdmac->per_addr);
drivers/dma/imx-sdma.c
1136
dev_dbg(sdma->dev, "event_mask0 = 0x%08x\n", (u32)sdmac->event_mask[0]);
drivers/dma/imx-sdma.c
1137
dev_dbg(sdma->dev, "event_mask1 = 0x%08x\n", (u32)sdmac->event_mask[1]);
drivers/dma/imx-sdma.c
1139
spin_lock_irqsave(&sdma->channel_0_lock, flags);
drivers/dma/imx-sdma.c
1161
bd0->buffer_addr = sdma->context_phys;
drivers/dma/imx-sdma.c
1163
ret = sdma_run_channel0(sdma);
drivers/dma/imx-sdma.c
1165
spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
drivers/dma/imx-sdma.c
1178
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1181
writel_relaxed(BIT(channel), sdma->regs + SDMA_H_STATSTOP);
drivers/dma/imx-sdma.c
1239
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1266
if (sdmac->per_address2 >= sdma->spba_start_addr &&
drivers/dma/imx-sdma.c
1267
sdmac->per_address2 <= sdma->spba_end_addr)
drivers/dma/imx-sdma.c
1270
if (sdmac->per_address >= sdma->spba_start_addr &&
drivers/dma/imx-sdma.c
1271
sdmac->per_address <= sdma->spba_end_addr)
drivers/dma/imx-sdma.c
1371
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1379
writel_relaxed(priority, sdma->regs + SDMA_CHNPRI_0 + 4 * channel);
drivers/dma/imx-sdma.c
1384
static int sdma_request_channel0(struct sdma_engine *sdma)
drivers/dma/imx-sdma.c
1388
if (sdma->iram_pool)
drivers/dma/imx-sdma.c
1389
sdma->bd0 = gen_pool_dma_alloc(sdma->iram_pool,
drivers/dma/imx-sdma.c
1391
&sdma->bd0_phys);
drivers/dma/imx-sdma.c
1393
sdma->bd0 = dma_alloc_coherent(sdma->dev,
drivers/dma/imx-sdma.c
1395
&sdma->bd0_phys, GFP_NOWAIT);
drivers/dma/imx-sdma.c
1396
if (!sdma->bd0) {
drivers/dma/imx-sdma.c
1401
sdma->channel_control[0].base_bd_ptr = sdma->bd0_phys;
drivers/dma/imx-sdma.c
1402
sdma->channel_control[0].current_bd_ptr = sdma->bd0_phys;
drivers/dma/imx-sdma.c
1404
sdma_set_channel_priority(&sdma->channel[0], MXC_SDMA_DEFAULT_PRIORITY);
drivers/dma/imx-sdma.c
1415
struct sdma_engine *sdma = desc->sdmac->sdma;
drivers/dma/imx-sdma.c
1418
if (sdma->iram_pool)
drivers/dma/imx-sdma.c
1419
desc->bd = gen_pool_dma_alloc(sdma->iram_pool, bd_size, &desc->bd_phys);
drivers/dma/imx-sdma.c
1421
desc->bd = dma_alloc_coherent(sdma->dev, bd_size, &desc->bd_phys, GFP_NOWAIT);
drivers/dma/imx-sdma.c
1434
struct sdma_engine *sdma = desc->sdmac->sdma;
drivers/dma/imx-sdma.c
1436
if (sdma->iram_pool)
drivers/dma/imx-sdma.c
1437
gen_pool_free(sdma->iram_pool, (unsigned long)desc->bd, bd_size);
drivers/dma/imx-sdma.c
1439
dma_free_coherent(desc->sdmac->sdma->dev, bd_size, desc->bd, desc->bd_phys);
drivers/dma/imx-sdma.c
1466
dev_dbg(sdmac->sdma->dev, "MEMCPY in case?\n");
drivers/dma/imx-sdma.c
1495
ret = clk_enable(sdmac->sdma->clk_ipg);
drivers/dma/imx-sdma.c
1498
ret = clk_enable(sdmac->sdma->clk_ahb);
drivers/dma/imx-sdma.c
1509
clk_disable(sdmac->sdma->clk_ahb);
drivers/dma/imx-sdma.c
1511
clk_disable(sdmac->sdma->clk_ipg);
drivers/dma/imx-sdma.c
1518
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1533
clk_disable(sdma->clk_ipg);
drivers/dma/imx-sdma.c
1534
clk_disable(sdma->clk_ahb);
drivers/dma/imx-sdma.c
1542
if (!sdmac->sdma->fw_loaded && sdmac->is_ram_script) {
drivers/dma/imx-sdma.c
1543
dev_warn_once(sdmac->sdma->dev, "sdma firmware not ready!\n");
drivers/dma/imx-sdma.c
1587
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1597
dev_dbg(sdma->dev, "memcpy: %pad->%pad, len=%zu, channel=%d.\n",
drivers/dma/imx-sdma.c
1627
dev_dbg(sdma->dev, "entry %d: count: %zd dma: 0x%x %s%s\n",
drivers/dma/imx-sdma.c
1644
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1656
dev_dbg(sdma->dev, "setting up %d entries for channel %d.\n",
drivers/dma/imx-sdma.c
1668
dev_err(sdma->dev, "SDMA channel %d: maximum bytes for sg entry exceeded: %d > %d\n",
drivers/dma/imx-sdma.c
1708
dev_dbg(sdma->dev, "entry %d: count: %d dma: %#llx %s%s\n",
drivers/dma/imx-sdma.c
1731
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1737
dev_dbg(sdma->dev, "%s channel: %d\n", __func__, channel);
drivers/dma/imx-sdma.c
1753
dev_err(sdma->dev, "SDMA channel %d: maximum period size exceeded: %zu > %d\n",
drivers/dma/imx-sdma.c
1780
dev_dbg(sdma->dev, "entry %d: count: %zu dma: %#llx %s%s\n",
drivers/dma/imx-sdma.c
1839
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
1846
dev_err(sdma->dev, "Invalid peripheral size %zu, expected %zu\n",
drivers/dma/imx-sdma.c
1860
if (sdmac->event_id0 >= sdmac->sdma->drvdata->num_events)
drivers/dma/imx-sdma.c
1865
if (sdmac->event_id1 >= sdmac->sdma->drvdata->num_events)
drivers/dma/imx-sdma.c
1937
static void sdma_add_scripts(struct sdma_engine *sdma,
drivers/dma/imx-sdma.c
1941
s32 *saddr_arr = (u32 *)sdma->script_addrs;
drivers/dma/imx-sdma.c
1945
if (!sdma->script_number)
drivers/dma/imx-sdma.c
1946
sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1;
drivers/dma/imx-sdma.c
1948
if (sdma->script_number > sizeof(struct sdma_script_start_addrs)
drivers/dma/imx-sdma.c
1950
dev_err(sdma->dev,
drivers/dma/imx-sdma.c
1952
sdma->script_number);
drivers/dma/imx-sdma.c
1956
for (i = 0; i < sdma->script_number; i++)
drivers/dma/imx-sdma.c
1966
if (sdma->script_number >= SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3) {
drivers/dma/imx-sdma.c
1968
sdma->script_addrs->uart_2_mcu_addr = addr->uart_2_mcu_rom_addr;
drivers/dma/imx-sdma.c
1970
sdma->script_addrs->uartsh_2_mcu_addr = addr->uartsh_2_mcu_rom_addr;
drivers/dma/imx-sdma.c
1976
struct sdma_engine *sdma = context;
drivers/dma/imx-sdma.c
1982
dev_info(sdma->dev, "external firmware not found, using ROM firmware\n");
drivers/dma/imx-sdma.c
1998
sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1;
drivers/dma/imx-sdma.c
2001
sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V2;
drivers/dma/imx-sdma.c
2004
sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3;
drivers/dma/imx-sdma.c
2007
sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V4;
drivers/dma/imx-sdma.c
2010
dev_err(sdma->dev, "unknown firmware version\n");
drivers/dma/imx-sdma.c
2017
clk_enable(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2018
clk_enable(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2020
sdma_load_script(sdma, ram_code,
drivers/dma/imx-sdma.c
2023
clk_disable(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2024
clk_disable(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2026
sdma_add_scripts(sdma, addr);
drivers/dma/imx-sdma.c
2028
sdma->fw_loaded = true;
drivers/dma/imx-sdma.c
2030
dev_info(sdma->dev, "loaded firmware %d.%d\n",
drivers/dma/imx-sdma.c
2040
static int sdma_event_remap(struct sdma_engine *sdma)
drivers/dma/imx-sdma.c
2042
struct device_node *np = sdma->dev->of_node;
drivers/dma/imx-sdma.c
2056
dev_dbg(sdma->dev, "no event needs to be remapped\n");
drivers/dma/imx-sdma.c
2059
dev_err(sdma->dev, "the property %s must modulo %d\n",
drivers/dma/imx-sdma.c
2067
dev_err(sdma->dev, "failed to get gpr regmap\n");
drivers/dma/imx-sdma.c
2075
dev_err(sdma->dev, "failed to read property %s index %d\n",
drivers/dma/imx-sdma.c
2082
dev_err(sdma->dev, "failed to read property %s index %d\n",
drivers/dma/imx-sdma.c
2089
dev_err(sdma->dev, "failed to read property %s index %d\n",
drivers/dma/imx-sdma.c
2104
static int sdma_get_firmware(struct sdma_engine *sdma,
drivers/dma/imx-sdma.c
2109
ret = firmware_request_nowait_nowarn(THIS_MODULE, fw_name, sdma->dev,
drivers/dma/imx-sdma.c
2110
GFP_KERNEL, sdma, sdma_load_firmware);
drivers/dma/imx-sdma.c
2115
static int sdma_init(struct sdma_engine *sdma)
drivers/dma/imx-sdma.c
2121
ret = clk_enable(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2124
ret = clk_enable(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2128
if (sdma->drvdata->check_ratio &&
drivers/dma/imx-sdma.c
2129
(clk_get_rate(sdma->clk_ahb) == clk_get_rate(sdma->clk_ipg)))
drivers/dma/imx-sdma.c
2130
sdma->clk_ratio = 1;
drivers/dma/imx-sdma.c
2133
writel_relaxed(0, sdma->regs + SDMA_H_C0PTR);
drivers/dma/imx-sdma.c
2138
if (sdma->iram_pool)
drivers/dma/imx-sdma.c
2139
sdma->channel_control = gen_pool_dma_alloc(sdma->iram_pool, ccbsize, &ccb_phys);
drivers/dma/imx-sdma.c
2141
sdma->channel_control = dma_alloc_coherent(sdma->dev, ccbsize, &ccb_phys,
drivers/dma/imx-sdma.c
2144
if (!sdma->channel_control) {
drivers/dma/imx-sdma.c
2149
sdma->context = (void *)sdma->channel_control +
drivers/dma/imx-sdma.c
2151
sdma->context_phys = ccb_phys +
drivers/dma/imx-sdma.c
2155
for (i = 0; i < sdma->drvdata->num_events; i++)
drivers/dma/imx-sdma.c
2156
writel_relaxed(0, sdma->regs + chnenbl_ofs(sdma, i));
drivers/dma/imx-sdma.c
2160
writel_relaxed(0, sdma->regs + SDMA_CHNPRI_0 + i * 4);
drivers/dma/imx-sdma.c
2162
ret = sdma_request_channel0(sdma);
drivers/dma/imx-sdma.c
2166
sdma_config_ownership(&sdma->channel[0], false, true, false);
drivers/dma/imx-sdma.c
2169
writel_relaxed(0x4050, sdma->regs + SDMA_CHN0ADDR);
drivers/dma/imx-sdma.c
2172
if (sdma->clk_ratio)
drivers/dma/imx-sdma.c
2173
writel_relaxed(SDMA_H_CONFIG_ACR, sdma->regs + SDMA_H_CONFIG);
drivers/dma/imx-sdma.c
2175
writel_relaxed(0, sdma->regs + SDMA_H_CONFIG);
drivers/dma/imx-sdma.c
2177
writel_relaxed(ccb_phys, sdma->regs + SDMA_H_C0PTR);
drivers/dma/imx-sdma.c
2180
sdma_set_channel_priority(&sdma->channel[0], 7);
drivers/dma/imx-sdma.c
2182
clk_disable(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2183
clk_disable(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2188
clk_disable(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2190
clk_disable(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2191
dev_err(sdma->dev, "initialisation failed with %d\n", ret);
drivers/dma/imx-sdma.c
2212
struct sdma_engine *sdma = ofdma->of_dma_data;
drivers/dma/imx-sdma.c
2213
dma_cap_mask_t mask = sdma->dma_device.cap_mask;
drivers/dma/imx-sdma.c
2244
struct sdma_engine *sdma;
drivers/dma/imx-sdma.c
2251
sdma = devm_kzalloc(&pdev->dev, sizeof(*sdma), GFP_KERNEL);
drivers/dma/imx-sdma.c
2252
if (!sdma)
drivers/dma/imx-sdma.c
2255
spin_lock_init(&sdma->channel_0_lock);
drivers/dma/imx-sdma.c
2257
sdma->dev = &pdev->dev;
drivers/dma/imx-sdma.c
2258
sdma->drvdata = of_device_get_match_data(sdma->dev);
drivers/dma/imx-sdma.c
2264
sdma->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/dma/imx-sdma.c
2265
if (IS_ERR(sdma->regs))
drivers/dma/imx-sdma.c
2266
return PTR_ERR(sdma->regs);
drivers/dma/imx-sdma.c
2268
sdma->clk_ipg = devm_clk_get(&pdev->dev, "ipg");
drivers/dma/imx-sdma.c
2269
if (IS_ERR(sdma->clk_ipg))
drivers/dma/imx-sdma.c
2270
return PTR_ERR(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2272
sdma->clk_ahb = devm_clk_get(&pdev->dev, "ahb");
drivers/dma/imx-sdma.c
2273
if (IS_ERR(sdma->clk_ahb))
drivers/dma/imx-sdma.c
2274
return PTR_ERR(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2276
ret = clk_prepare(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2280
ret = clk_prepare(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2285
dev_name(&pdev->dev), sdma);
drivers/dma/imx-sdma.c
2289
sdma->irq = irq;
drivers/dma/imx-sdma.c
2291
sdma->script_addrs = kzalloc_obj(*sdma->script_addrs);
drivers/dma/imx-sdma.c
2292
if (!sdma->script_addrs) {
drivers/dma/imx-sdma.c
2298
saddr_arr = (s32 *)sdma->script_addrs;
drivers/dma/imx-sdma.c
2299
for (i = 0; i < sizeof(*sdma->script_addrs) / sizeof(s32); i++)
drivers/dma/imx-sdma.c
2302
dma_cap_set(DMA_SLAVE, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2303
dma_cap_set(DMA_CYCLIC, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2304
dma_cap_set(DMA_MEMCPY, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2305
dma_cap_set(DMA_PRIVATE, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2307
INIT_LIST_HEAD(&sdma->dma_device.channels);
drivers/dma/imx-sdma.c
2310
struct sdma_channel *sdmac = &sdma->channel[i];
drivers/dma/imx-sdma.c
2312
sdmac->sdma = sdma;
drivers/dma/imx-sdma.c
2325
vchan_init(&sdmac->vc, &sdma->dma_device);
drivers/dma/imx-sdma.c
2329
sdma->iram_pool = of_gen_pool_get(np, "iram", 0);
drivers/dma/imx-sdma.c
2330
if (sdma->iram_pool)
drivers/dma/imx-sdma.c
2334
ret = sdma_init(sdma);
drivers/dma/imx-sdma.c
2338
ret = sdma_event_remap(sdma);
drivers/dma/imx-sdma.c
2342
if (sdma->drvdata->script_addrs)
drivers/dma/imx-sdma.c
2343
sdma_add_scripts(sdma, sdma->drvdata->script_addrs);
drivers/dma/imx-sdma.c
2345
sdma->dma_device.dev = &pdev->dev;
drivers/dma/imx-sdma.c
2347
sdma->dma_device.device_alloc_chan_resources = sdma_alloc_chan_resources;
drivers/dma/imx-sdma.c
2348
sdma->dma_device.device_free_chan_resources = sdma_free_chan_resources;
drivers/dma/imx-sdma.c
2349
sdma->dma_device.device_tx_status = sdma_tx_status;
drivers/dma/imx-sdma.c
2350
sdma->dma_device.device_prep_slave_sg = sdma_prep_slave_sg;
drivers/dma/imx-sdma.c
2351
sdma->dma_device.device_prep_dma_cyclic = sdma_prep_dma_cyclic;
drivers/dma/imx-sdma.c
2352
sdma->dma_device.device_config = sdma_config;
drivers/dma/imx-sdma.c
2353
sdma->dma_device.device_terminate_all = sdma_terminate_all;
drivers/dma/imx-sdma.c
2354
sdma->dma_device.device_synchronize = sdma_channel_synchronize;
drivers/dma/imx-sdma.c
2355
sdma->dma_device.src_addr_widths = SDMA_DMA_BUSWIDTHS;
drivers/dma/imx-sdma.c
2356
sdma->dma_device.dst_addr_widths = SDMA_DMA_BUSWIDTHS;
drivers/dma/imx-sdma.c
2357
sdma->dma_device.directions = SDMA_DMA_DIRECTIONS;
drivers/dma/imx-sdma.c
2358
sdma->dma_device.residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
drivers/dma/imx-sdma.c
2359
sdma->dma_device.device_prep_dma_memcpy = sdma_prep_memcpy;
drivers/dma/imx-sdma.c
2360
sdma->dma_device.device_issue_pending = sdma_issue_pending;
drivers/dma/imx-sdma.c
2361
sdma->dma_device.copy_align = 2;
drivers/dma/imx-sdma.c
2362
dma_set_max_seg_size(sdma->dma_device.dev, SDMA_BD_MAX_CNT);
drivers/dma/imx-sdma.c
2364
platform_set_drvdata(pdev, sdma);
drivers/dma/imx-sdma.c
2366
ret = dma_async_device_register(&sdma->dma_device);
drivers/dma/imx-sdma.c
2373
ret = of_dma_controller_register(np, sdma_xlate, sdma);
drivers/dma/imx-sdma.c
2382
sdma->spba_start_addr = spba_res.start;
drivers/dma/imx-sdma.c
2383
sdma->spba_end_addr = spba_res.end;
drivers/dma/imx-sdma.c
2398
ret = sdma_get_firmware(sdma, fw_name);
drivers/dma/imx-sdma.c
2406
dma_async_device_unregister(&sdma->dma_device);
drivers/dma/imx-sdma.c
2408
kfree(sdma->script_addrs);
drivers/dma/imx-sdma.c
2410
clk_unprepare(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2412
clk_unprepare(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2418
struct sdma_engine *sdma = platform_get_drvdata(pdev);
drivers/dma/imx-sdma.c
2421
devm_free_irq(&pdev->dev, sdma->irq, sdma);
drivers/dma/imx-sdma.c
2422
dma_async_device_unregister(&sdma->dma_device);
drivers/dma/imx-sdma.c
2423
kfree(sdma->script_addrs);
drivers/dma/imx-sdma.c
2424
clk_unprepare(sdma->clk_ahb);
drivers/dma/imx-sdma.c
2425
clk_unprepare(sdma->clk_ipg);
drivers/dma/imx-sdma.c
2428
struct sdma_channel *sdmac = &sdma->channel[i];
drivers/dma/imx-sdma.c
449
struct sdma_engine *sdma;
drivers/dma/imx-sdma.c
693
static inline u32 chnenbl_ofs(struct sdma_engine *sdma, unsigned int event)
drivers/dma/imx-sdma.c
695
u32 chnenbl0 = sdma->drvdata->chnenbl0;
drivers/dma/imx-sdma.c
702
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
709
evt = readl_relaxed(sdma->regs + SDMA_H_EVTOVR);
drivers/dma/imx-sdma.c
710
mcu = readl_relaxed(sdma->regs + SDMA_H_HOSTOVR);
drivers/dma/imx-sdma.c
711
dsp = readl_relaxed(sdma->regs + SDMA_H_DSPOVR);
drivers/dma/imx-sdma.c
728
writel_relaxed(evt, sdma->regs + SDMA_H_EVTOVR);
drivers/dma/imx-sdma.c
729
writel_relaxed(mcu, sdma->regs + SDMA_H_HOSTOVR);
drivers/dma/imx-sdma.c
730
writel_relaxed(dsp, sdma->regs + SDMA_H_DSPOVR);
drivers/dma/imx-sdma.c
735
static int is_sdma_channel_enabled(struct sdma_engine *sdma, int channel)
drivers/dma/imx-sdma.c
737
return !!(readl(sdma->regs + SDMA_H_STATSTOP) & BIT(channel));
drivers/dma/imx-sdma.c
740
static void sdma_enable_channel(struct sdma_engine *sdma, int channel)
drivers/dma/imx-sdma.c
742
writel(BIT(channel), sdma->regs + SDMA_H_START);
drivers/dma/imx-sdma.c
748
static int sdma_run_channel0(struct sdma_engine *sdma)
drivers/dma/imx-sdma.c
753
sdma_enable_channel(sdma, 0);
drivers/dma/imx-sdma.c
755
ret = readl_relaxed_poll_timeout_atomic(sdma->regs + SDMA_H_STATSTOP,
drivers/dma/imx-sdma.c
758
dev_err(sdma->dev, "Timeout waiting for CH0 ready\n");
drivers/dma/imx-sdma.c
761
reg = readl(sdma->regs + SDMA_H_CONFIG);
drivers/dma/imx-sdma.c
764
writel_relaxed(reg, sdma->regs + SDMA_H_CONFIG);
drivers/dma/imx-sdma.c
770
static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
drivers/dma/imx-sdma.c
773
struct sdma_buffer_descriptor *bd0 = sdma->bd0;
drivers/dma/imx-sdma.c
779
buf_virt = dma_alloc_coherent(sdma->dev, size, &buf_phys, GFP_KERNEL);
drivers/dma/imx-sdma.c
783
spin_lock_irqsave(&sdma->channel_0_lock, flags);
drivers/dma/imx-sdma.c
793
ret = sdma_run_channel0(sdma);
drivers/dma/imx-sdma.c
795
spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
drivers/dma/imx-sdma.c
797
dma_free_coherent(sdma->dev, size, buf_virt, buf_phys);
drivers/dma/imx-sdma.c
804
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
807
u32 chnenbl = chnenbl_ofs(sdma, event);
drivers/dma/imx-sdma.c
809
val = readl_relaxed(sdma->regs + chnenbl);
drivers/dma/imx-sdma.c
811
writel_relaxed(val, sdma->regs + chnenbl);
drivers/dma/imx-sdma.c
815
val = readl_relaxed(sdma->regs + SDMA_DONE0_CONFIG);
drivers/dma/imx-sdma.c
818
writel_relaxed(val, sdma->regs + SDMA_DONE0_CONFIG);
drivers/dma/imx-sdma.c
824
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
826
u32 chnenbl = chnenbl_ofs(sdma, event);
drivers/dma/imx-sdma.c
829
val = readl_relaxed(sdma->regs + chnenbl);
drivers/dma/imx-sdma.c
831
writel_relaxed(val, sdma->regs + chnenbl);
drivers/dma/imx-sdma.c
843
struct sdma_engine *sdma = sdmac->sdma;
drivers/dma/imx-sdma.c
854
sdma->channel_control[channel].base_bd_ptr = desc->bd_phys;
drivers/dma/imx-sdma.c
855
sdma->channel_control[channel].current_bd_ptr = desc->bd_phys;
drivers/dma/imx-sdma.c
856
sdma_enable_channel(sdma, sdmac->channel);
drivers/dma/imx-sdma.c
914
if (sdmac->desc && !is_sdma_channel_enabled(sdmac->sdma, sdmac->channel)) {
drivers/dma/imx-sdma.c
915
dev_warn(sdmac->sdma->dev, "restart cyclic channel %d\n", sdmac->channel);
drivers/dma/imx-sdma.c
916
sdma_enable_channel(sdmac->sdma, sdmac->channel);
drivers/dma/imx-sdma.c
947
struct sdma_engine *sdma = dev_id;
drivers/dma/imx-sdma.c
950
stat = readl_relaxed(sdma->regs + SDMA_H_INTR);
drivers/dma/imx-sdma.c
951
writel_relaxed(stat, sdma->regs + SDMA_H_INTR);
drivers/dma/imx-sdma.c
957
struct sdma_channel *sdmac = &sdma->channel[channel];
drivers/dma/imx-sdma.c
988
struct sdma_engine *sdma = sdmac->sdma;
drivers/gpu/drm/amd/amdgpu/aldebaran.c
381
if (tmp_adev->sdma.ras &&
drivers/gpu/drm/amd/amdgpu/aldebaran.c
382
tmp_adev->sdma.ras->ras_block.ras_late_init) {
drivers/gpu/drm/amd/amdgpu/aldebaran.c
383
r = tmp_adev->sdma.ras->ras_block.ras_late_init(tmp_adev,
drivers/gpu/drm/amd/amdgpu/aldebaran.c
384
&tmp_adev->sdma.ras->ras_block.ras_comm);
drivers/gpu/drm/amd/amdgpu/amdgpu.h
1031
struct amdgpu_sdma sdma;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
469
return adev->sdma.instance[0].fw_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
472
return adev->sdma.instance[1].fw_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
663
ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
666
ring = &adev->sdma.instance[1].ring;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12_1.c
84
switch (dev_inst % adev->sdma.num_inst_per_xcc) {
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12_1.c
87
dev_inst / adev->sdma.num_inst_per_xcc,
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12_1.c
92
dev_inst / adev->sdma.num_inst_per_xcc,
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
167
fw_version = adev->sdma.instance[0].fw_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
170
fw_version = adev->sdma.instance[1].fw_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
159
for (int i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
162
i, adev->sdma.instance[i].feature_version,
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
163
adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1107
harvest = ((1 << inst) & adev->sdma.sdma_mask) == 0;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1409
adev->sdma.sdma_mask = 0;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1479
if (adev->sdma.num_instances <
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1481
adev->sdma.num_instances++;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1482
adev->sdma.sdma_mask |=
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1486
adev->sdma.num_instances + 1,
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2690
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2691
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2719
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2720
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2748
adev->sdma.num_instances = 1;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2749
adev->sdma.sdma_mask = 1;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2796
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2797
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2826
adev->sdma.num_instances = 8;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2827
adev->sdma.sdma_mask = 0xff;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2861
adev->sdma.num_instances = 5;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2862
adev->sdma.sdma_mask = 0x1f;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2899
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2900
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
819
adev->sdma.sdma_mask &=
drivers/gpu/drm/amd/amdgpu/amdgpu_ip.c
86
{ SDMA0_HWIP, adev->sdma.sdma_mask },
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
1417
ret = amdgpu_userq_metadata_info_sdma(adev, info, &meta_info.sdma);
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
1920
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
324
if (query_fw->index >= adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
326
fw_info->ver = adev->sdma.instance[query_fw->index].fw_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
327
fw_info->feature = adev->sdma.instance[query_fw->index].feature_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
421
if (adev->sdma.get_csa_info) {
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
424
adev->sdma.get_csa_info(adev, &csa);
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
470
if (!adev->sdma.disable_uq) {
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
480
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
481
if (adev->sdma.instance[i].ring.sched.ready &&
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
482
!adev->sdma.instance[i].ring.no_user_submission)
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
752
count = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
162
num_pipes = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/amdgpu_mes_ctx.h
104
} __aligned(PAGE_SIZE) sdma[AMDGPU_MES_CTX_MAX_SDMA_RINGS];
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
2875
adev->sdma.instance[ucode->ucode_id - AMDGPU_UCODE_ID_SDMA0].fw->data;
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
453
mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
267
else if (ring == &adev->sdma.instance[0].page)
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
912
if (ring->adev->sdma.supported_reset & reset_type)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
103
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
104
r = amdgpu_irq_get(adev, &adev->sdma.ecc_irq,
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
136
struct ras_common_if *ras_if = adev->sdma.ras_if;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
193
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
194
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
199
memset((void *)adev->sdma.instance, 0,
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
216
err = amdgpu_ucode_request(adev, &adev->sdma.instance[instance].fw,
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
220
err = amdgpu_ucode_request(adev, &adev->sdma.instance[instance].fw,
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
227
adev->sdma.instance[instance].fw->data;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
235
err = amdgpu_sdma_init_inst_ctx(&adev->sdma.instance[instance]);
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
240
for (i = 1; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
241
memcpy((void *)&adev->sdma.instance[i],
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
242
(void *)&adev->sdma.instance[0],
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
252
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
266
adev->sdma.num_inst_per_aid == i) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
271
info->fw = adev->sdma.instance[i].fw;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
279
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
282
info->fw = adev->sdma.instance[0].fw;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
287
info->fw = adev->sdma.instance[0].fw;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
293
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
296
info->fw = adev->sdma.instance[0].fw;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
319
if (!adev->sdma.ras)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
322
ras = adev->sdma.ras;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
333
adev->sdma.ras_if = &ras->ras_block.ras_comm;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
363
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
371
mask = BIT_ULL(adev->sdma.num_instances * num_ring) - 1;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
376
for (i = 0; i < adev->sdma.num_instances; ++i) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
377
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
378
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
379
page = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
410
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
415
for (i = 0; i < adev->sdma.num_instances; ++i) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
416
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
417
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
418
page = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
45
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
450
if (!(adev->sdma.num_instances > 1))
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
46
if (ring == &adev->sdma.instance[i].ring ||
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
468
return amdgpu_show_reset_mask(buf, adev->sdma.supported_reset);
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
47
ring == &adev->sdma.instance[i].page)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
48
return &adev->sdma.instance[i];
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
481
if (adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
496
if (adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
503
if (adev->sdma.has_page_queue &&
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
504
(ring->me < adev->sdma.num_instances) &&
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
505
(ring == &adev->sdma.instance[ring->me].ring))
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
506
return &adev->sdma.instance[ring->me].page;
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
523
if (!adev->sdma.has_page_queue || i >= adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
529
return (ring == &adev->sdma.instance[i].page);
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
536
struct amdgpu_sdma_instance *sdma_instance = &adev->sdma.instance[instance_id];
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
557
struct amdgpu_sdma_instance *sdma_instance = &adev->sdma.instance[instance_id];
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
573
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
579
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
58
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
59
if (ring == &adev->sdma.instance[i].ring ||
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
592
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
60
ring == &adev->sdma.instance[i].page) {
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
605
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
795
FW_VERSION_ATTR(sdma_fw_version, 0444, sdma.instance[0].fw_version);
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
796
FW_VERSION_ATTR(sdma2_fw_version, 0444, sdma.instance[1].fw_version);
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
462
struct sdma_firmware_header_v1_0 sdma;
drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
67
if (adev->sdma.supported_reset & reset_type)
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
586
POPULATE_UCODE_INFO(vf2pf_info, AMD_SRIOV_UCODE_ID_SDMA, adev->sdma.instance[0].fw_version);
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
587
POPULATE_UCODE_INFO(vf2pf_info, AMD_SRIOV_UCODE_ID_SDMA2, adev->sdma.instance[1].fw_version);
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
172
num_sdma = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
282
max_res[AMDGPU_XCP_RES_DMA] = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
47
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
535
u32 mask, avail_inst, inst_mask = adev->sdma.sdma_mask;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
539
adev->sdma.num_inst_per_aid = 4;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
540
adev->sdma.num_instances = NUM_SDMA(adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
543
inst_mask >>= adev->sdma.num_inst_per_aid;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
545
for (mask = (1 << adev->sdma.num_inst_per_aid) - 1; inst_mask;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
546
inst_mask >>= adev->sdma.num_inst_per_aid, ++i) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1144
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1157
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1180
drm_sched_fault(&adev->sdma.instance[instance_id].ring.sched);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1252
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1253
adev->sdma.instance[i].ring.funcs = &cik_sdma_ring_funcs;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1254
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1269
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1270
adev->sdma.trap_irq.funcs = &cik_sdma_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1271
adev->sdma.illegal_inst_irq.funcs = &cik_sdma_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
132
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1337
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
134
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1353
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1355
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1357
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
138
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
148
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
149
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
201
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
205
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
313
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
370
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
408
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
433
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
434
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
496
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
497
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
538
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
539
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
541
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
544
adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
545
adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
546
if (adev->sdma.instance[i].feature_version >= 20)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
547
adev->sdma.instance[i].burst_nop = true;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
549
(adev->sdma.instance[i].fw->data + le32_to_cpu(hdr->header.ucode_array_offset_bytes));
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
553
WREG32(mmSDMA0_UCODE_ADDR + sdma_offsets[i], adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
76
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
77
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
800
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
806
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
927
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
949
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
955
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
961
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
965
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
966
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
970
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
986
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
987
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
5822
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
5824
adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
5825
fw_data = (const __le32 *) (adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
1453
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
1454
fw_data = (const __le32 *) (adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
1461
fw_data = (const __le32 *) (adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
5514
if (adev->sdma.num_instances > 1) {
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
5548
if (adev->sdma.num_instances > 1) {
drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.c
55
ras_if = adev->sdma.ras_if;
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
1267
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
1268
fw_data = (const __le32 *) (adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
4126
if (adev->sdma.num_instances > 1) {
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
1044
if (adev->sdma.instance[0].fw) {
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
1046
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
1047
fw_data = (const __le32 *) (adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/nbio_v7_9.c
100
switch (dev_inst % adev->sdma.num_inst_per_aid) {
drivers/gpu/drm/amd/amdgpu/nbio_v7_9.c
82
aid_id = adev->sdma.instance[instance].aid_id;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1043
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1056
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1081
drm_sched_fault(&adev->sdma.instance[instance_id].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
114
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1146
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1147
adev->sdma.instance[i].ring.funcs = &sdma_v2_4_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1148
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
115
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1163
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1164
adev->sdma.trap_irq.funcs = &sdma_v2_4_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1165
adev->sdma.illegal_inst_irq.funcs = &sdma_v2_4_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1232
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1248
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1250
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1252
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
145
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
147
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
151
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
156
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
157
adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
158
adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
159
if (adev->sdma.instance[i].feature_version >= 20)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
160
adev->sdma.instance[i].burst_nop = true;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
165
info->fw = adev->sdma.instance[i].fw;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
176
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
177
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
226
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
230
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
343
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
383
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
408
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
409
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
471
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
472
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
736
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
742
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
817
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
839
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
845
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
851
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
855
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
856
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
860
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
876
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
877
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1009
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1015
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1092
adev->sdma.num_instances = 1;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1095
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1119
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1125
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1131
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1135
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1136
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1146
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1162
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1163
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1245
adev->sdma.srbm_soft_reset = srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1248
adev->sdma.srbm_soft_reset = 0;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1258
if (!adev->sdma.srbm_soft_reset)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1261
srbm_soft_reset = adev->sdma.srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1277
if (!adev->sdma.srbm_soft_reset)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1280
srbm_soft_reset = adev->sdma.srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1297
if (!adev->sdma.srbm_soft_reset)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1300
srbm_soft_reset = adev->sdma.srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1381
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1394
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1419
drm_sched_fault(&adev->sdma.instance[instance_id].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1431
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1445
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1470
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1478
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1588
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1589
adev->sdma.instance[i].ring.funcs = &sdma_v3_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1590
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1605
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1606
adev->sdma.trap_irq.funcs = &sdma_v3_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1607
adev->sdma.illegal_inst_irq.funcs = &sdma_v3_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1674
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1690
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1692
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1694
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
254
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
255
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
305
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
307
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
311
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
316
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
317
adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
318
adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
319
if (adev->sdma.instance[i].feature_version >= 20)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
320
adev->sdma.instance[i].burst_nop = true;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
324
info->fw = adev->sdma.instance[i].fw;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
334
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
335
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
402
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
406
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
519
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
578
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
620
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
647
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
648
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
745
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
746
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1010
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1028
adev->sdma.instance[i].fw_version >= 14)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1052
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1056
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1091
struct amdgpu_ring *ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1176
struct amdgpu_ring *ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1349
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1350
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1353
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1358
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1368
adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1405
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1410
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1435
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1436
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1442
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1443
struct amdgpu_ring *page = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1670
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1676
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1739
uint fw_version = adev->sdma.instance[0].fw_version;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1766
adev->sdma.has_page_queue = false;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1768
adev->sdma.has_page_queue = true;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1804
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1807
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1813
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1816
&adev->sdma.ecc_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1822
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1825
&adev->sdma.vm_hole_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1831
&adev->sdma.doorbell_invalid_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1837
&adev->sdma.pool_timeout_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1843
&adev->sdma.srbm_write_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1848
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1849
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1871
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1877
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1878
ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1909
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1923
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1925
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1937
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1938
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1939
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1940
amdgpu_ring_fini(&adev->sdma.instance[i].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1949
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1976
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1977
amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2023
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2036
u32 sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2040
for (j = 0; j < adev->sdma.num_instances; j++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2041
sdma[j] = RREG32_SDMA(j, mmSDMA0_STATUS_REG);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2042
if (!(sdma[j] & SDMA0_STATUS_REG__IDLE_MASK))
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2045
if (j == adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2087
amdgpu_fence_process(&adev->sdma.instance[instance].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2092
amdgpu_fence_process(&adev->sdma.instance[instance].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2100
amdgpu_fence_process(&adev->sdma.instance[instance].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2143
drm_sched_fault(&adev->sdma.instance[instance].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2172
if (instance < 0 || instance >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2243
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2257
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2282
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2290
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2360
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2363
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2364
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2370
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2381
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2384
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2387
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2481
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2482
adev->sdma.instance[i].ring.funcs = &sdma_v4_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2483
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2484
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2485
adev->sdma.instance[i].page.funcs =
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2487
adev->sdma.instance[i].page.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2524
adev->sdma.trap_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2525
adev->sdma.ecc_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2527
switch (adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2530
adev->sdma.vm_hole_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2531
adev->sdma.doorbell_invalid_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2532
adev->sdma.pool_timeout_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2533
adev->sdma.srbm_write_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2538
adev->sdma.trap_irq.funcs = &sdma_v4_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2539
adev->sdma.illegal_inst_irq.funcs = &sdma_v4_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2540
adev->sdma.ecc_irq.funcs = &sdma_v4_0_ecc_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2541
adev->sdma.vm_hole_irq.funcs = &sdma_v4_0_vm_hole_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2542
adev->sdma.doorbell_invalid_irq.funcs = &sdma_v4_0_doorbell_invalid_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2543
adev->sdma.pool_timeout_irq.funcs = &sdma_v4_0_pool_timeout_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2544
adev->sdma.srbm_write_irq.funcs = &sdma_v4_0_srbm_write_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2612
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2613
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2615
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2632
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2633
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2634
sched = &adev->sdma.instance[i].page.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2636
sched = &adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2639
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2692
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2706
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2728
adev->sdma.ras = &sdma_v4_0_ras;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2731
adev->sdma.ras = &sdma_v4_4_ras;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
602
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
627
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
786
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
790
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
927
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
961
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4.c
243
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4.c
256
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1032
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1038
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1039
struct amdgpu_ring *page = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1266
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1272
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1361
adev->sdma.has_page_queue = true;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1407
for (i = 0; i < adev->sdma.num_inst_per_aid; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1410
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1416
for (i = 0; i < adev->sdma.num_inst_per_aid; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1419
&adev->sdma.ecc_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1425
for (i = 0; i < adev->sdma.num_inst_per_aid; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1428
&adev->sdma.vm_hole_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1434
&adev->sdma.doorbell_invalid_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1440
&adev->sdma.pool_timeout_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1446
&adev->sdma.srbm_write_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1452
&adev->sdma.ctxt_empty_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1457
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1458
mutex_init(&adev->sdma.instance[i].engine_reset_mutex);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1460
adev->sdma.instance[i].gfx_guilty = false;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1461
adev->sdma.instance[i].page_guilty = false;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1462
adev->sdma.instance[i].funcs = &sdma_v4_4_2_sdma_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1464
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1467
aid_id = adev->sdma.instance[i].aid_id;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1477
i % adev->sdma.num_inst_per_aid);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1478
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1484
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1485
ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1497
i % adev->sdma.num_inst_per_aid);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1499
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1507
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1508
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1516
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1518
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1534
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1535
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1536
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1537
amdgpu_ring_fini(&adev->sdma.instance[i].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1548
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1559
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1577
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1579
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1580
amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1614
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1627
u32 sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1631
for (j = 0; j < adev->sdma.num_instances; j++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1632
sdma[j] = RREG32_SDMA(j, regSDMA_STATUS_REG);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1633
if (!(sdma[j] & SDMA_STATUS_REG__IDLE_MASK))
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1636
if (j == adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
168
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1684
adev->sdma.instance[instance_id].gfx_guilty =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1686
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1687
adev->sdma.instance[instance_id].page_guilty =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1696
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1697
struct amdgpu_ring *page_ring = &adev->sdma.instance[instance_id].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1705
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1773
for (i = instance; i < adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1774
i += adev->sdma.num_inst_per_aid) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1775
if (adev->sdma.instance[i].aid_id ==
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1780
if (i >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1789
amdgpu_fence_process(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1792
amdgpu_fence_process(&adev->sdma.instance[i].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1839
drm_sched_fault(&adev->sdma.instance[instance].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1868
if (instance < 0 || instance >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
197
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2016
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2057
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2060
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2061
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2067
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2078
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2081
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2084
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2178
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2179
adev->sdma.instance[i].ring.funcs = &sdma_v4_4_2_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2180
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2181
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2182
adev->sdma.instance[i].page.funcs =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2184
adev->sdma.instance[i].page.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2189
adev->sdma.instance[i].aid_id =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2190
dev_inst / adev->sdma.num_inst_per_aid;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2230
adev->sdma.trap_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2231
adev->sdma.ecc_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2232
adev->sdma.vm_hole_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2233
adev->sdma.doorbell_invalid_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2234
adev->sdma.pool_timeout_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2235
adev->sdma.srbm_write_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2236
adev->sdma.ctxt_empty_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2238
adev->sdma.trap_irq.funcs = &sdma_v4_4_2_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2239
adev->sdma.illegal_inst_irq.funcs = &sdma_v4_4_2_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2240
adev->sdma.ecc_irq.funcs = &sdma_v4_4_2_ecc_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2241
adev->sdma.vm_hole_irq.funcs = &sdma_v4_4_2_vm_hole_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2242
adev->sdma.doorbell_invalid_irq.funcs = &sdma_v4_4_2_doorbell_invalid_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2243
adev->sdma.pool_timeout_irq.funcs = &sdma_v4_4_2_pool_timeout_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2244
adev->sdma.srbm_write_irq.funcs = &sdma_v4_4_2_srbm_write_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2245
adev->sdma.ctxt_empty_irq.funcs = &sdma_v4_4_2_ctxt_empty_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2313
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2314
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2316
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2333
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2334
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2335
sched = &adev->sdma.instance[i].page.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2337
sched = &adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2340
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2367
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2373
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2410
amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2467
.die_id = adev->sdma.instance[sdma_inst].aid_id,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2489
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2514
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2612
adev->sdma.ras = &sdma_v4_4_2_ras;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
353
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
357
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
434
<< (ring->me % adev->sdma.num_inst_per_aid);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
494
struct amdgpu_ring *sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
500
sdma[i] = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
512
if (sdma[i]->use_doorbell) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
639
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
688
struct amdgpu_ring *ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
723
if (adev->sdma.instance[i].gfx_guilty)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
794
struct amdgpu_ring *ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
811
if (adev->sdma.instance[i].page_guilty)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
932
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
935
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
940
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
950
adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
979
adev->sdma.instance[0].fw) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
998
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1239
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1245
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1390
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1397
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1401
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1402
mutex_init(&adev->sdma.instance[i].engine_reset_mutex);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1403
adev->sdma.instance[i].funcs = &sdma_v5_0_sdma_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1404
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1417
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1425
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1426
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1429
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1432
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1434
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1450
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1451
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1456
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1501
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1542
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1709
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1725
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1755
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1792
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1867
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1870
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1871
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1877
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1888
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1892
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1895
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1962
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1963
adev->sdma.instance[i].ring.funcs = &sdma_v5_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1964
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1979
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1980
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1981
adev->sdma.trap_irq.funcs = &sdma_v5_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1982
adev->sdma.illegal_inst_irq.funcs = &sdma_v5_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
2051
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
2068
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
2070
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
2072
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
294
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
409
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
413
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
627
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
662
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
671
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
699
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
853
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
893
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
894
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
897
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
902
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
913
WREG32(sdma_v5_0_get_reg_offset(adev, i, mmSDMA0_UCODE_ADDR), adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1139
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1145
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1312
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1315
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1320
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1321
mutex_init(&adev->sdma.instance[i].engine_reset_mutex);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1322
adev->sdma.instance[i].funcs = &sdma_v5_2_sdma_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1323
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1336
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1343
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1344
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1347
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1350
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1352
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1368
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1369
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1374
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1414
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1450
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1615
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1631
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1647
amdgpu_fence_process(&adev->sdma.instance[2].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1663
amdgpu_fence_process(&adev->sdma.instance[3].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1692
if (adev->sdma.instance[i].fw_version < 70)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1696
if (adev->sdma.instance[i].fw_version < 47)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1700
if (adev->sdma.instance[i].fw_version < 9)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1717
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1754
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1755
if (adev->sdma.instance[i].fw_version < 70 &&
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1869
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1872
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1873
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1879
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1890
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1894
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1897
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1966
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1967
adev->sdma.instance[i].ring.funcs = &sdma_v5_2_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1968
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1983
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1984
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1985
adev->sdma.trap_irq.funcs = &sdma_v5_2_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1986
adev->sdma.illegal_inst_irq.funcs = &sdma_v5_2_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
2055
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
2072
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
2074
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
2076
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
257
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
261
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
477
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
511
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
518
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
548
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
700
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
740
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
741
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
744
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
749
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
760
WREG32(sdma_v5_2_get_reg_offset(adev, i, mmSDMA0_UCODE_ADDR), adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
795
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1145
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1151
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1265
adev->sdma.ras = &sdma_v6_0_3_ras;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1292
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1293
adev->sdma.disable_uq = true;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1296
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1297
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1300
adev->sdma.no_user_submission = true;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1301
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1315
adev->sdma.get_csa_info = &sdma_v6_0_get_csa_info;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1331
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1338
&adev->sdma.fence_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1342
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1343
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1347
ring->no_user_submission = adev->sdma.no_user_submission;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1358
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1365
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1366
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1369
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1377
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1379
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1385
if ((adev->sdma.instance[0].fw_version >= 27) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1389
if ((adev->sdma.instance[0].fw_version >= 18) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1393
if ((adev->sdma.instance[0].fw_version >= 23) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1397
if (adev->sdma.instance[0].fw_version >= 29 && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1401
if ((adev->sdma.instance[0].fw_version >= 14) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1405
if ((adev->sdma.instance[0].fw_version >= 17) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1409
if ((adev->sdma.instance[0].fw_version >= 15) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1413
if ((adev->sdma.instance[0].fw_version >= 10) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1432
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1433
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1438
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1450
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1453
r = amdgpu_irq_get(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1456
r = amdgpu_irq_put(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1507
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1586
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1642
amdgpu_fence_process(&adev->sdma.instance[instances].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1705
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1708
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1709
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1715
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1726
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1730
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1733
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1800
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1801
adev->sdma.instance[i].ring.funcs = &sdma_v6_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1802
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1821
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1822
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1823
adev->sdma.trap_irq.funcs = &sdma_v6_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1824
adev->sdma.fence_irq.funcs = &sdma_v6_0_fence_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1825
adev->sdma.illegal_inst_irq.funcs = &sdma_v6_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1893
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1908
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1910
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1912
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
244
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
248
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
400
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
436
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
466
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
493
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
568
adev->doorbell_index.sdma_doorbell_range * adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
636
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
677
if (!adev->sdma.instance[0].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
686
hdr = (const struct sdma_firmware_header_v2_0 *)adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
691
(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
706
(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
718
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
720
hdr = (const struct sdma_firmware_header_v2_0 *)adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
725
(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
736
WREG32(sdma_v6_0_get_reg_offset(adev, i, regSDMA0_UCODE_ADDR), adev->sdma.instance[0].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
742
(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
753
WREG32(sdma_v6_0_get_reg_offset(adev, i, regSDMA0_UCODE_ADDR), adev->sdma.instance[0].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
768
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
803
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
804
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1165
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1171
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1276
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1277
adev->sdma.disable_uq = true;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1280
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1281
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1284
adev->sdma.no_user_submission = true;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1285
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1300
adev->sdma.get_csa_info = &sdma_v7_0_get_csa_info;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1316
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1323
&adev->sdma.fence_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1327
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1328
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1332
ring->no_user_submission = adev->sdma.no_user_submission;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1343
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1350
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1351
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1354
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1360
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1362
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1369
if ((adev->sdma.instance[0].fw_version >= 7966358) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1384
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1385
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1393
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1405
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1408
r = amdgpu_irq_get(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1411
r = amdgpu_irq_put(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1462
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1574
amdgpu_fence_process(&adev->sdma.instance[instances].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1637
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1640
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1641
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1647
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1658
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1662
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1665
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1733
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1734
adev->sdma.instance[i].ring.funcs = &sdma_v7_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1735
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1754
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1755
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1756
adev->sdma.trap_irq.funcs = &sdma_v7_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1757
adev->sdma.fence_irq.funcs = &sdma_v7_0_fence_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1758
adev->sdma.illegal_inst_irq.funcs = &sdma_v7_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1843
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1858
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1860
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1862
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
247
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
251
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
403
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
458
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
486
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
563
adev->doorbell_index.sdma_doorbell_range * adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
637
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
664
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
665
amdgpu_bo_free_kernel(&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
666
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
667
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
690
if (!adev->sdma.instance[0].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
694
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
697
fw_data = (const __le32 *)(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
701
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
705
&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
706
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
707
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
713
memcpy(adev->sdma.instance[i].sdma_fw_ptr, fw_data, fw_size);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
715
amdgpu_bo_kunmap(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
716
amdgpu_bo_unreserve(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
723
lower_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
725
upper_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
760
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
795
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
796
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
812
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1162
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1168
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
122
int xcc_id = adev->sdma.instance[instance].xcc_id;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
123
int xcc_inst = dev_inst % adev->sdma.num_inst_per_xcc;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1283
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1287
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1288
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1294
if (adev->sdma.instance[i].xcc_id == GET_INST(GC, xcc_id))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1299
xcc_id, GET_INST(SDMA0, i) % adev->sdma.num_inst_per_xcc,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1307
GET_INST(SDMA0, i) % adev->sdma.num_inst_per_xcc);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1309
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1316
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1317
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1320
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1326
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1328
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1344
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1345
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1351
sdma_v7_1_inst_free_ucode_buffer(adev, adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1353
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1363
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1375
sdma_v7_1_inst_ctx_switch_enable(adev, false, adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1376
sdma_v7_1_inst_enable(adev, false, adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1396
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1409
u32 sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1413
for (j = 0; j < adev->sdma.num_instances; j++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1414
sdma[j] = RREG32(sdma_v7_1_get_reg_offset(adev,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1416
if (!(sdma[j] & SDMA0_SDMA_STATUS_REG__IDLE_MASK))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1419
if (j == adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1511
GET_INST(GC, xcc_id) * adev->sdma.num_inst_per_xcc;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1512
for (instances = 0; instances < adev->sdma.num_instances; instances++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1516
if (instances > adev->sdma.num_instances - 1) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1525
amdgpu_fence_process(&adev->sdma.instance[instances].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1566
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1569
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1570
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1576
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1587
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1591
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1594
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1660
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1661
adev->sdma.instance[i].ring.funcs = &sdma_v7_1_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1662
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1666
adev->sdma.instance[i].xcc_id =
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1667
dev_inst / adev->sdma.num_inst_per_xcc;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1682
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1683
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1684
adev->sdma.trap_irq.funcs = &sdma_v7_1_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1685
adev->sdma.illegal_inst_irq.funcs = &sdma_v7_1_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1753
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1768
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1770
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1772
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
241
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
245
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
468
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
545
adev->doorbell_index.sdma_doorbell_range * adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
652
amdgpu_bo_free_kernel(&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
653
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
654
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
679
if (!adev->sdma.instance[0].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
683
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
686
fw_data = (const __le32 *)(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
694
&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
695
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
696
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
702
memcpy(adev->sdma.instance[i].sdma_fw_ptr, fw_data, fw_size);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
704
amdgpu_bo_kunmap(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
705
amdgpu_bo_unreserve(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
712
lower_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
714
upper_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
748
inst_mask = GENMASK(NUM_XCC(adev->sdma.sdma_mask) - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
786
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
787
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
803
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
134
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
149
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
150
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/si_dma.c
480
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/si_dma.c
498
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/si_dma.c
504
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/si_dma.c
508
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
509
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/si_dma.c
514
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/si_dma.c
530
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/si_dma.c
531
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/si_dma.c
642
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/si_dma.c
644
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/si_dma.c
65
u32 me = (ring == &adev->sdma.instance[0].ring) ? 0 : 1;
drivers/gpu/drm/amd/amdgpu/si_dma.c
659
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
671
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
73
u32 me = (ring == &adev->sdma.instance[0].ring) ? 0 : 1;
drivers/gpu/drm/amd/amdgpu/si_dma.c
752
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/si_dma.c
753
adev->sdma.instance[i].ring.funcs = &si_dma_ring_funcs;
drivers/gpu/drm/amd/amdgpu/si_dma.c
763
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/si_dma.c
764
adev->sdma.trap_irq.funcs = &si_dma_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/si_dma.c
830
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/si_dma.c
846
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
848
&adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/si_dma.c
850
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/soc15.c
1276
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
471
num_sdma = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
535
max_res[AMDGPU_XCP_RES_DMA] = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
61
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
827
adev->sdma.num_inst_per_xcc = 2;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
828
adev->sdma.num_instances =
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
829
NUM_XCC(adev->gfx.xcc_mask) * adev->sdma.num_inst_per_xcc;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
830
adev->sdma.sdma_mask =
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
831
GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdkfd/kfd_device.c
1500
return node->adev->sdma.num_instances/(int)node->kfd->num_nodes;
drivers/gpu/drm/amd/amdkfd/kfd_device.c
1502
return min(node->adev->sdma.num_instances/(int)node->kfd->num_nodes, 2);
drivers/gpu/drm/amd/amdkfd/kfd_device.c
1508
return node->adev->sdma.num_instances/(int)node->kfd->num_nodes -
drivers/gpu/drm/amd/amdkfd/kfd_topology.c
518
(dev->gpu->adev->sdma.supported_reset & AMDGPU_RESET_TYPE_PER_QUEUE))
drivers/gpu/drm/radeon/radeon_ucode.h
216
struct sdma_firmware_header_v1_0 sdma;
drivers/infiniband/hw/hfi1/vnic.h
95
struct hfi1_vnic_sdma sdma[HFI1_VNIC_MAX_TXQ];
drivers/infiniband/hw/hfi1/vnic_sdma.c
130
struct hfi1_vnic_sdma *vnic_sdma = &vinfo->sdma[q_idx];
drivers/infiniband/hw/hfi1/vnic_sdma.c
147
tx->sdma = vnic_sdma;
drivers/infiniband/hw/hfi1/vnic_sdma.c
231
struct hfi1_vnic_sdma *vnic_sdma = &vinfo->sdma[q_idx];
drivers/infiniband/hw/hfi1/vnic_sdma.c
241
struct hfi1_vnic_sdma *vnic_sdma = &vinfo->sdma[i];
drivers/infiniband/hw/hfi1/vnic_sdma.c
30
struct hfi1_vnic_sdma *sdma;
drivers/infiniband/hw/hfi1/vnic_sdma.c
42
struct hfi1_vnic_sdma *vnic_sdma = tx->sdma;
drivers/media/pci/ddbridge/ddbridge-core.c
161
struct ddb_dma *sdma,
drivers/media/pci/ddbridge/ddbridge-core.c
167
sdma->bufval = ddma->bufval;
drivers/media/pci/ddbridge/ddbridge-core.c
168
base = sdma->bufregs;
drivers/net/dsa/mxl862xx/mxl862xx.c
189
struct mxl862xx_register_mod sdma = {
drivers/net/dsa/mxl862xx/mxl862xx.c
201
ret = MXL862XX_API_WRITE(ds->priv, MXL862XX_COMMON_REGISTERMOD, sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
107
struct prestera_sdma sdma;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
110
static int prestera_sdma_buf_init(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
116
desc = dma_pool_alloc(sdma->desc_pool, GFP_DMA | GFP_KERNEL, &dma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
128
static u32 prestera_sdma_map(struct prestera_sdma *sdma, dma_addr_t pa)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
130
return sdma->map_addr + pa;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
133
static void prestera_sdma_rx_desc_init(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
142
desc->buff = cpu_to_le32(prestera_sdma_map(sdma, buf));
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
150
static void prestera_sdma_rx_desc_set_next(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
154
desc->next = cpu_to_le32(prestera_sdma_map(sdma, next));
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
157
static int prestera_sdma_rx_skb_alloc(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
160
struct device *dev = sdma->sw->dev->dev;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
187
static struct sk_buff *prestera_sdma_rx_skb_get(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
195
err = prestera_sdma_rx_skb_alloc(sdma, buf);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
207
prestera_sdma_rx_desc_init(sdma, buf->desc, buf->buf_dma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
212
static int prestera_rxtx_process_skb(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
231
port = prestera_port_find_by_hwid(sdma->sw, dev_id, hw_port);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
233
dev_warn_ratelimited(prestera_dev(sdma->sw), "received pkt for non-existent port(%u, %u)\n",
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
276
struct prestera_sdma *sdma;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
287
sdma = container_of(napi, struct prestera_sdma, rx_napi);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
291
struct prestera_rx_ring *ring = &sdma->rx_ring[q];
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
311
skb = prestera_sdma_rx_skb_get(sdma, buf);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
315
if (unlikely(prestera_rxtx_process_skb(sdma, skb)))
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
325
prestera_write(sdma->sw, PRESTERA_SDMA_RX_INTR_MASK_REG,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
333
static void prestera_sdma_rx_fini(struct prestera_sdma *sdma)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
339
prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_STATUS_REG,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
343
struct prestera_rx_ring *ring = &sdma->rx_ring[q];
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
352
dma_pool_free(sdma->desc_pool, buf->desc,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
359
dma_unmap_single(sdma->sw->dev->dev,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
367
static int prestera_sdma_rx_init(struct prestera_sdma *sdma)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
375
prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_STATUS_REG,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
380
struct prestera_rx_ring *ring = &sdma->rx_ring[q];
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
394
err = prestera_sdma_buf_init(sdma, next);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
398
err = prestera_sdma_rx_skb_alloc(sdma, next);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
402
prestera_sdma_rx_desc_init(sdma, next->desc,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
405
prestera_sdma_rx_desc_set_next(sdma, prev->desc,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
413
prestera_sdma_rx_desc_set_next(sdma, tail->desc, head->desc_dma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
415
prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_DESC_REG(q),
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
416
prestera_sdma_map(sdma, head->desc_dma));
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
422
prestera_write(sdma->sw, PRESTERA_SDMA_RX_QUEUE_STATUS_REG,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
428
static void prestera_sdma_tx_desc_init(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
435
static void prestera_sdma_tx_desc_set_next(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
439
desc->next = cpu_to_le32(prestera_sdma_map(sdma, next));
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
442
static void prestera_sdma_tx_desc_set_buf(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
450
desc->buff = cpu_to_le32(prestera_sdma_map(sdma, buf));
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
466
static int prestera_sdma_tx_buf_map(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
470
struct device *dma_dev = sdma->sw->dev->dev;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
483
static void prestera_sdma_tx_buf_unmap(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
486
struct device *dma_dev = sdma->sw->dev->dev;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
495
struct prestera_sdma *sdma;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
498
sdma = container_of(work, struct prestera_sdma, tx_work);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
500
tx_ring = &sdma->tx_ring;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
511
prestera_sdma_tx_buf_unmap(sdma, buf);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
522
static int prestera_sdma_tx_init(struct prestera_sdma *sdma)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
525
struct prestera_tx_ring *tx_ring = &sdma->tx_ring;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
529
INIT_WORK(&sdma->tx_work, prestera_sdma_tx_recycle_work_fn);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
530
spin_lock_init(&sdma->tx_lock);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
546
err = prestera_sdma_buf_init(sdma, next);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
552
prestera_sdma_tx_desc_init(sdma, next->desc);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
554
prestera_sdma_tx_desc_set_next(sdma, prev->desc,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
562
prestera_sdma_tx_desc_set_next(sdma, tail->desc, head->desc_dma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
567
prestera_write(sdma->sw, PRESTERA_SDMA_TX_QUEUE_DESC_REG,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
568
prestera_sdma_map(sdma, head->desc_dma));
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
573
static void prestera_sdma_tx_fini(struct prestera_sdma *sdma)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
575
struct prestera_tx_ring *ring = &sdma->tx_ring;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
579
cancel_work_sync(&sdma->tx_work);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
588
dma_pool_free(sdma->desc_pool, buf->desc,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
594
dma_unmap_single(sdma->sw->dev->dev, buf->buf_dma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
605
struct prestera_sdma *sdma = arg;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
610
prestera_write(sdma->sw, PRESTERA_SDMA_RX_INTR_MASK_REG, 0);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
611
napi_schedule(&sdma->rx_napi);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
616
struct prestera_sdma *sdma = &sw->rxtx->sdma;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
629
sdma->dma_mask = dma_get_mask(dev);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
630
sdma->map_addr = p.map_addr;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
631
sdma->sw = sw;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
633
sdma->desc_pool = dma_pool_create("desc_pool", dev,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
636
if (!sdma->desc_pool)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
639
err = prestera_sdma_rx_init(sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
645
err = prestera_sdma_tx_init(sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
653
sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
657
sdma->napi_dev = alloc_netdev_dummy(0);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
658
if (!sdma->napi_dev) {
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
664
netif_napi_add(sdma->napi_dev, &sdma->rx_napi, prestera_sdma_rx_poll);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
665
napi_enable(&sdma->rx_napi);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
674
prestera_sdma_tx_fini(sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
676
prestera_sdma_rx_fini(sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
678
dma_pool_destroy(sdma->desc_pool);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
684
struct prestera_sdma *sdma = &sw->rxtx->sdma;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
686
napi_disable(&sdma->rx_napi);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
687
netif_napi_del(&sdma->rx_napi);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
688
free_netdev(sdma->napi_dev);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
691
prestera_sdma_tx_fini(sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
692
prestera_sdma_rx_fini(sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
693
dma_pool_destroy(sdma->desc_pool);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
696
static bool prestera_sdma_is_ready(struct prestera_sdma *sdma)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
698
return !(prestera_read(sdma->sw, PRESTERA_SDMA_TX_QUEUE_START_REG) & 1);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
701
static int prestera_sdma_tx_wait(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
707
if (prestera_sdma_is_ready(sdma))
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
716
static void prestera_sdma_tx_start(struct prestera_sdma *sdma)
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
718
prestera_write(sdma->sw, PRESTERA_SDMA_TX_QUEUE_START_REG, 1);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
719
schedule_work(&sdma->tx_work);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
722
static netdev_tx_t prestera_sdma_xmit(struct prestera_sdma *sdma,
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
725
struct device *dma_dev = sdma->sw->dev->dev;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
731
spin_lock(&sdma->tx_lock);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
733
tx_ring = &sdma->tx_ring;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
737
schedule_work(&sdma->tx_work);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
744
err = prestera_sdma_tx_buf_map(sdma, buf, skb);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
748
prestera_sdma_tx_desc_set_buf(sdma, buf->desc, buf->buf_dma, skb->len);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
758
err = prestera_sdma_tx_wait(sdma, tx_ring);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
767
prestera_sdma_tx_start(sdma);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
772
prestera_sdma_tx_buf_unmap(sdma, buf);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
778
spin_unlock(&sdma->tx_lock);
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
828
return prestera_sdma_xmit(&port->sw->rxtx->sdma, skb);
drivers/scsi/isci/host.c
1555
writel(0, &ihost->scu_registers->sdma.unsolicited_frame_get_pointer);
drivers/scsi/isci/host.c
2203
val = readl(&ihost->scu_registers->sdma.pdma_configuration);
drivers/scsi/isci/host.c
2205
writel(val, &ihost->scu_registers->sdma.pdma_configuration);
drivers/scsi/isci/host.c
2207
val = readl(&ihost->scu_registers->sdma.cdma_configuration);
drivers/scsi/isci/host.c
2209
writel(val, &ihost->scu_registers->sdma.cdma_configuration);
drivers/scsi/isci/host.c
2319
&ihost->scu_registers->sdma.uf_header_base_address_lower);
drivers/scsi/isci/host.c
2321
&ihost->scu_registers->sdma.uf_header_base_address_upper);
drivers/scsi/isci/host.c
2324
&ihost->scu_registers->sdma.uf_address_table_lower);
drivers/scsi/isci/host.c
2326
&ihost->scu_registers->sdma.uf_address_table_upper);
drivers/scsi/isci/host.c
2547
&ihost->scu_registers->sdma.unsolicited_frame_get_pointer);
drivers/scsi/isci/host.c
807
&ihost->scu_registers->sdma.unsolicited_frame_queue_control);
drivers/scsi/isci/host.c
816
&ihost->scu_registers->sdma.unsolicited_frame_get_pointer);
drivers/scsi/isci/host.c
820
&ihost->scu_registers->sdma.unsolicited_frame_put_pointer);
drivers/scsi/isci/registers.h
1841
struct scu_sdma_registers sdma;
drivers/soc/fsl/qe/qe.c
368
struct sdma __iomem *sdma = &qe_immr->sdma;
drivers/soc/fsl/qe/qe.c
380
&sdma->sdebcr);
drivers/soc/fsl/qe/qe.c
382
&sdma->sdmr);
include/soc/fsl/qe/immap_qe.h
448
struct sdma sdma; /* SDMA */
include/uapi/drm/amdgpu_drm.h
1647
struct drm_amdgpu_info_uq_metadata_sdma sdma;
sound/parisc/harmony.c
197
harmony_write(h, HARMONY_PNXTADD, h->sdma.addr);
sound/parisc/harmony.c
303
harmony_write(h, HARMONY_PNXTADD, h->sdma.addr);
sound/parisc/harmony.c
329
harmony_write(h, HARMONY_PNXTADD, h->sdma.addr);
sound/parisc/harmony.c
373
snd_pcm_format_set_silence(fmt, h->sdma.area, SILENCE_BUFSZ /
sound/parisc/harmony.c
613
&h->sdma);
sound/parisc/harmony.c
824
if (h->sdma.addr)
sound/parisc/harmony.c
825
snd_dma_free_pages(&h->sdma);
sound/parisc/harmony.h
39
struct snd_dma_buffer sdma; /* silence */