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_prepared(&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_prepared(&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
2277
dev_name(&pdev->dev), sdma);
drivers/dma/imx-sdma.c
2281
sdma->irq = irq;
drivers/dma/imx-sdma.c
2283
sdma->script_addrs = kzalloc_obj(*sdma->script_addrs);
drivers/dma/imx-sdma.c
2284
if (!sdma->script_addrs)
drivers/dma/imx-sdma.c
2288
saddr_arr = (s32 *)sdma->script_addrs;
drivers/dma/imx-sdma.c
2289
for (i = 0; i < sizeof(*sdma->script_addrs) / sizeof(s32); i++)
drivers/dma/imx-sdma.c
2292
dma_cap_set(DMA_SLAVE, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2293
dma_cap_set(DMA_CYCLIC, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2294
dma_cap_set(DMA_MEMCPY, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2295
dma_cap_set(DMA_PRIVATE, sdma->dma_device.cap_mask);
drivers/dma/imx-sdma.c
2297
INIT_LIST_HEAD(&sdma->dma_device.channels);
drivers/dma/imx-sdma.c
2300
struct sdma_channel *sdmac = &sdma->channel[i];
drivers/dma/imx-sdma.c
2302
sdmac->sdma = sdma;
drivers/dma/imx-sdma.c
2315
vchan_init(&sdmac->vc, &sdma->dma_device);
drivers/dma/imx-sdma.c
2319
sdma->iram_pool = of_gen_pool_get(np, "iram", 0);
drivers/dma/imx-sdma.c
2320
if (sdma->iram_pool)
drivers/dma/imx-sdma.c
2324
ret = sdma_init(sdma);
drivers/dma/imx-sdma.c
2328
ret = sdma_event_remap(sdma);
drivers/dma/imx-sdma.c
2332
if (sdma->drvdata->script_addrs)
drivers/dma/imx-sdma.c
2333
sdma_add_scripts(sdma, sdma->drvdata->script_addrs);
drivers/dma/imx-sdma.c
2335
sdma->dma_device.dev = &pdev->dev;
drivers/dma/imx-sdma.c
2337
sdma->dma_device.device_alloc_chan_resources = sdma_alloc_chan_resources;
drivers/dma/imx-sdma.c
2338
sdma->dma_device.device_free_chan_resources = sdma_free_chan_resources;
drivers/dma/imx-sdma.c
2339
sdma->dma_device.device_tx_status = sdma_tx_status;
drivers/dma/imx-sdma.c
2340
sdma->dma_device.device_prep_slave_sg = sdma_prep_slave_sg;
drivers/dma/imx-sdma.c
2341
sdma->dma_device.device_prep_dma_cyclic = sdma_prep_dma_cyclic;
drivers/dma/imx-sdma.c
2342
sdma->dma_device.device_config = sdma_config;
drivers/dma/imx-sdma.c
2343
sdma->dma_device.device_terminate_all = sdma_terminate_all;
drivers/dma/imx-sdma.c
2344
sdma->dma_device.device_synchronize = sdma_channel_synchronize;
drivers/dma/imx-sdma.c
2345
sdma->dma_device.src_addr_widths = SDMA_DMA_BUSWIDTHS;
drivers/dma/imx-sdma.c
2346
sdma->dma_device.dst_addr_widths = SDMA_DMA_BUSWIDTHS;
drivers/dma/imx-sdma.c
2347
sdma->dma_device.directions = SDMA_DMA_DIRECTIONS;
drivers/dma/imx-sdma.c
2348
sdma->dma_device.residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
drivers/dma/imx-sdma.c
2349
sdma->dma_device.device_prep_dma_memcpy = sdma_prep_memcpy;
drivers/dma/imx-sdma.c
2350
sdma->dma_device.device_issue_pending = sdma_issue_pending;
drivers/dma/imx-sdma.c
2351
sdma->dma_device.copy_align = 2;
drivers/dma/imx-sdma.c
2352
dma_set_max_seg_size(sdma->dma_device.dev, SDMA_BD_MAX_CNT);
drivers/dma/imx-sdma.c
2354
platform_set_drvdata(pdev, sdma);
drivers/dma/imx-sdma.c
2356
ret = dmaenginem_async_device_register(&sdma->dma_device);
drivers/dma/imx-sdma.c
2362
sdma_xlate, sdma);
drivers/dma/imx-sdma.c
2372
sdma->spba_start_addr = spba_res.start;
drivers/dma/imx-sdma.c
2373
sdma->spba_end_addr = spba_res.end;
drivers/dma/imx-sdma.c
2388
ret = sdma_get_firmware(sdma, fw_name);
drivers/dma/imx-sdma.c
2398
struct sdma_engine *sdma = platform_get_drvdata(pdev);
drivers/dma/imx-sdma.c
2401
devm_free_irq(&pdev->dev, sdma->irq, sdma);
drivers/dma/imx-sdma.c
2404
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
957
struct amdgpu_sdma sdma;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
494
return adev->sdma.instance[0].fw_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
497
return adev->sdma.instance[1].fw_version;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
703
ring = &adev->sdma.instance[0].ring;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
706
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
168
for (int i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
171
i, adev->sdma.instance[i].feature_version,
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
172
adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1162
harvest = ((1 << inst) & adev->sdma.sdma_mask) == 0;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1510
adev->sdma.sdma_mask = 0;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1582
if (adev->sdma.num_instances <
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1584
adev->sdma.num_instances++;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1585
adev->sdma.sdma_mask |=
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
1589
adev->sdma.num_instances + 1,
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2840
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2841
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2869
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2870
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2898
adev->sdma.num_instances = 1;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2899
adev->sdma.sdma_mask = 1;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2946
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2947
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2976
adev->sdma.num_instances = 8;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
2977
adev->sdma.sdma_mask = 0xff;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
3011
adev->sdma.num_instances = 5;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
3012
adev->sdma.sdma_mask = 0x1f;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
3049
adev->sdma.num_instances = 2;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
3050
adev->sdma.sdma_mask = 3;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
876
adev->sdma.sdma_mask &= ~BIT(inst);
drivers/gpu/drm/amd/amdgpu/amdgpu_ip.c
86
{ SDMA0_HWIP, adev->sdma.sdma_mask },
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
1408
ret = amdgpu_userq_metadata_info_sdma(adev, info, &meta_info.sdma);
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
1908
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_inst_per_xcc ?
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
163
adev->sdma.num_inst_per_xcc : 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
3292
adev->sdma.instance[ucode->ucode_id - AMDGPU_UCODE_ID_SDMA0].fw->data;
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
469
mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
247
else if (ring == &adev->sdma.instance[0].page)
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
951
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_ttm.c
2681
for (i = 0, n = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
2682
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
2683
sched = &adev->sdma.instance[i].page.sched;
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
2685
sched = &adev->sdma.instance[i].ring.sched;
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
660
POPULATE_UCODE_INFO(vf2pf_info, AMD_SRIOV_UCODE_ID_SDMA, adev->sdma.instance[0].fw_version);
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
661
POPULATE_UCODE_INFO(vf2pf_info, AMD_SRIOV_UCODE_ID_SDMA2, adev->sdma.instance[1].fw_version);
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
3216
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
3217
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
3218
sched = &adev->sdma.instance[i].page.sched;
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
3220
sched = &adev->sdma.instance[i].ring.sched;
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
3223
adev->vm_manager.vm_pte_num_scheds = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
153
num_sdma = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
263
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
516
u32 mask, avail_inst, inst_mask = adev->sdma.sdma_mask;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
520
adev->sdma.num_inst_per_aid = 4;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
521
adev->sdma.num_instances = NUM_SDMA(adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
524
inst_mask >>= adev->sdma.num_inst_per_aid;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
526
for (mask = (1 << adev->sdma.num_inst_per_aid) - 1; inst_mask;
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
527
inst_mask >>= adev->sdma.num_inst_per_aid, ++i) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1157
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1170
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1193
drm_sched_fault(&adev->sdma.instance[instance_id].ring.sched);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1265
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1266
adev->sdma.instance[i].ring.funcs = &cik_sdma_ring_funcs;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1267
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1282
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1283
adev->sdma.trap_irq.funcs = &cik_sdma_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
1284
adev->sdma.illegal_inst_irq.funcs = &cik_sdma_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
131
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
133
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
137
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
147
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
148
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
200
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
204
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
312
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
369
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
407
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
432
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
433
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
495
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
496
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
537
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
538
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
540
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
543
adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
544
adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
545
if (adev->sdma.instance[i].feature_version >= 20)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
546
adev->sdma.instance[i].burst_nop = true;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
548
(adev->sdma.instance[i].fw->data + le32_to_cpu(hdr->header.ucode_array_offset_bytes));
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
552
WREG32(mmSDMA0_UCODE_ADDR + sdma_offsets[i], adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
75
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
76
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
799
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
805
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
934
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
955
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
961
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
967
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
971
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
972
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
976
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
992
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
993
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
5831
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
5833
adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
5834
fw_data = (const __le32 *) (adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
1473
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
1474
fw_data = (const __le32 *) (adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
1481
fw_data = (const __le32 *) (adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
5637
if (adev->sdma.num_instances > 1) {
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
5671
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
1274
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
1275
fw_data = (const __le32 *) (adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
4209
if (adev->sdma.num_instances > 1) {
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
1058
if (adev->sdma.instance[0].fw) {
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
1060
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
1061
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
1051
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1064
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1089
drm_sched_fault(&adev->sdma.instance[instance_id].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
113
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
114
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1154
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1155
adev->sdma.instance[i].ring.funcs = &sdma_v2_4_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1156
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1171
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1172
adev->sdma.trap_irq.funcs = &sdma_v2_4_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
1173
adev->sdma.illegal_inst_irq.funcs = &sdma_v2_4_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
144
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
146
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
150
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
155
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
156
adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
157
adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
158
if (adev->sdma.instance[i].feature_version >= 20)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
159
adev->sdma.instance[i].burst_nop = true;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
164
info->fw = adev->sdma.instance[i].fw;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
175
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
176
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
225
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
229
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
342
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
382
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
407
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
408
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
470
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
471
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
735
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
741
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
824
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
845
&adev->sdma.trap_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
857
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
861
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
862
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
866
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
882
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
883
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1008
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1014
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1099
adev->sdma.num_instances = 1;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1102
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1125
&adev->sdma.trap_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
1137
&adev->sdma.illegal_inst_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1141
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1142
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1152
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1168
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1169
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1253
adev->sdma.srbm_soft_reset = srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1256
adev->sdma.srbm_soft_reset = 0;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1266
if (!adev->sdma.srbm_soft_reset)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1269
srbm_soft_reset = adev->sdma.srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1285
if (!adev->sdma.srbm_soft_reset)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1288
srbm_soft_reset = adev->sdma.srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1305
if (!adev->sdma.srbm_soft_reset)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1308
srbm_soft_reset = adev->sdma.srbm_soft_reset;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1389
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1402
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1427
drm_sched_fault(&adev->sdma.instance[instance_id].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1439
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1453
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
1486
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1596
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1597
adev->sdma.instance[i].ring.funcs = &sdma_v3_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1598
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1613
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1614
adev->sdma.trap_irq.funcs = &sdma_v3_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
1615
adev->sdma.illegal_inst_irq.funcs = &sdma_v3_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
253
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
254
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
304
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
306
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
310
err = amdgpu_ucode_request(adev, &adev->sdma.instance[i].fw,
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
315
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
316
adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
317
adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
318
if (adev->sdma.instance[i].feature_version >= 20)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
319
adev->sdma.instance[i].burst_nop = true;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
323
info->fw = adev->sdma.instance[i].fw;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
333
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
334
amdgpu_ucode_release(&adev->sdma.instance[i].fw);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
401
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
405
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
518
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
577
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
619
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
646
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
647
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
744
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
745
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1009
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1027
adev->sdma.instance[i].fw_version >= 14)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1051
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1055
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1090
struct amdgpu_ring *ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1175
struct amdgpu_ring *ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1348
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1349
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1352
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1357
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1367
adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1404
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1409
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1434
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1435
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1441
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1442
struct amdgpu_ring *page = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1669
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1675
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1738
uint fw_version = adev->sdma.instance[0].fw_version;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1773
adev->sdma.has_page_queue = false;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1775
adev->sdma.has_page_queue = true;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1810
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1813
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1819
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1822
&adev->sdma.ecc_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1828
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1831
&adev->sdma.vm_hole_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1837
&adev->sdma.doorbell_invalid_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1843
&adev->sdma.pool_timeout_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1849
&adev->sdma.srbm_write_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1854
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1855
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1877
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1883
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1884
ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1915
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1929
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1931
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1943
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1944
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1945
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1946
amdgpu_ring_fini(&adev->sdma.instance[i].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1955
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1988
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
1989
amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2035
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2048
u32 sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2052
for (j = 0; j < adev->sdma.num_instances; j++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2053
sdma[j] = RREG32_SDMA(j, mmSDMA0_STATUS_REG);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2054
if (!(sdma[j] & SDMA0_STATUS_REG__IDLE_MASK))
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2057
if (j == adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2099
amdgpu_fence_process(&adev->sdma.instance[instance].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2104
amdgpu_fence_process(&adev->sdma.instance[instance].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2112
amdgpu_fence_process(&adev->sdma.instance[instance].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2155
drm_sched_fault(&adev->sdma.instance[instance].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2184
if (instance < 0 || instance >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2255
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2269
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2294
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2302
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2372
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2375
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2376
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2382
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2393
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2396
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2399
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2493
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2494
adev->sdma.instance[i].ring.funcs = &sdma_v4_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2495
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2496
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2497
adev->sdma.instance[i].page.funcs =
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2499
adev->sdma.instance[i].page.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2536
adev->sdma.trap_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2537
adev->sdma.ecc_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2539
switch (adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2542
adev->sdma.vm_hole_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2543
adev->sdma.doorbell_invalid_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2544
adev->sdma.pool_timeout_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2545
adev->sdma.srbm_write_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2550
adev->sdma.trap_irq.funcs = &sdma_v4_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2551
adev->sdma.illegal_inst_irq.funcs = &sdma_v4_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2552
adev->sdma.ecc_irq.funcs = &sdma_v4_0_ecc_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2553
adev->sdma.vm_hole_irq.funcs = &sdma_v4_0_vm_hole_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2554
adev->sdma.doorbell_invalid_irq.funcs = &sdma_v4_0_doorbell_invalid_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2555
adev->sdma.pool_timeout_irq.funcs = &sdma_v4_0_pool_timeout_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2556
adev->sdma.srbm_write_irq.funcs = &sdma_v4_0_srbm_write_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2689
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2703
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2725
adev->sdma.ras = &sdma_v4_0_ras;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
2728
adev->sdma.ras = &sdma_v4_4_ras;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
601
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
626
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
785
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
789
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
926
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
960
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
1031
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1037
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1038
struct amdgpu_ring *page = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1265
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1271
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1368
adev->sdma.has_page_queue = true;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1413
for (i = 0; i < adev->sdma.num_inst_per_aid; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1416
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1422
for (i = 0; i < adev->sdma.num_inst_per_aid; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1425
&adev->sdma.ecc_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1431
for (i = 0; i < adev->sdma.num_inst_per_aid; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1434
&adev->sdma.vm_hole_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1440
&adev->sdma.doorbell_invalid_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1446
&adev->sdma.pool_timeout_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1452
&adev->sdma.srbm_write_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1458
&adev->sdma.ctxt_empty_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1463
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1464
mutex_init(&adev->sdma.instance[i].engine_reset_mutex);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1466
adev->sdma.instance[i].gfx_guilty = false;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1467
adev->sdma.instance[i].page_guilty = false;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1468
adev->sdma.instance[i].funcs = &sdma_v4_4_2_sdma_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1470
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1473
aid_id = adev->sdma.instance[i].aid_id;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1483
i % adev->sdma.num_inst_per_aid);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1484
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1490
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1491
ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1503
i % adev->sdma.num_inst_per_aid);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1505
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1513
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1514
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1522
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1524
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1540
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1541
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1542
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1543
amdgpu_ring_fini(&adev->sdma.instance[i].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1554
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1565
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1586
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1588
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1589
amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1623
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1636
u32 sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1640
for (j = 0; j < adev->sdma.num_instances; j++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1641
sdma[j] = RREG32_SDMA(j, regSDMA_STATUS_REG);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1642
if (!(sdma[j] & SDMA_STATUS_REG__IDLE_MASK))
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1645
if (j == adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
167
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1693
adev->sdma.instance[instance_id].gfx_guilty =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1695
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1696
adev->sdma.instance[instance_id].page_guilty =
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
1706
struct amdgpu_ring *page_ring = &adev->sdma.instance[instance_id].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1714
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1782
for (i = instance; i < adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1783
i += adev->sdma.num_inst_per_aid) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1784
if (adev->sdma.instance[i].aid_id ==
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1789
if (i >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1798
amdgpu_fence_process(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1801
amdgpu_fence_process(&adev->sdma.instance[i].page);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1848
drm_sched_fault(&adev->sdma.instance[instance].ring.sched);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
1877
if (instance < 0 || instance >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
196
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2025
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2066
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2069
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2070
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2076
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2087
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2090
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2093
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2187
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2188
adev->sdma.instance[i].ring.funcs = &sdma_v4_4_2_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2189
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2190
if (adev->sdma.has_page_queue) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2191
adev->sdma.instance[i].page.funcs =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2193
adev->sdma.instance[i].page.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2198
adev->sdma.instance[i].aid_id =
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2199
dev_inst / adev->sdma.num_inst_per_aid;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2239
adev->sdma.trap_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2240
adev->sdma.ecc_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2241
adev->sdma.vm_hole_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2242
adev->sdma.doorbell_invalid_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2243
adev->sdma.pool_timeout_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2244
adev->sdma.srbm_write_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2245
adev->sdma.ctxt_empty_irq.num_types = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2247
adev->sdma.trap_irq.funcs = &sdma_v4_4_2_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2248
adev->sdma.illegal_inst_irq.funcs = &sdma_v4_4_2_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2249
adev->sdma.ecc_irq.funcs = &sdma_v4_4_2_ecc_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2250
adev->sdma.vm_hole_irq.funcs = &sdma_v4_4_2_vm_hole_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2251
adev->sdma.doorbell_invalid_irq.funcs = &sdma_v4_4_2_doorbell_invalid_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2252
adev->sdma.pool_timeout_irq.funcs = &sdma_v4_4_2_pool_timeout_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2253
adev->sdma.srbm_write_irq.funcs = &sdma_v4_4_2_srbm_write_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2254
adev->sdma.ctxt_empty_irq.funcs = &sdma_v4_4_2_ctxt_empty_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2348
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2354
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2391
amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2448
.die_id = adev->sdma.instance[sdma_inst].aid_id,
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2470
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2495
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
2593
adev->sdma.ras = &sdma_v4_4_2_ras;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
352
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
356
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
433
<< (ring->me % adev->sdma.num_inst_per_aid);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
493
struct amdgpu_ring *sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
499
sdma[i] = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
511
if (sdma[i]->use_doorbell) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
638
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
687
struct amdgpu_ring *ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
722
if (adev->sdma.instance[i].gfx_guilty)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
793
struct amdgpu_ring *ring = &adev->sdma.instance[i].page;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
810
if (adev->sdma.instance[i].page_guilty)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
931
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
934
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
939
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
949
adev->sdma.instance[i].fw_version);
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
978
adev->sdma.instance[0].fw) {
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
997
if (adev->sdma.has_page_queue)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1238
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1244
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1395
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1402
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1406
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1407
mutex_init(&adev->sdma.instance[i].engine_reset_mutex);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1408
adev->sdma.instance[i].funcs = &sdma_v5_0_sdma_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1409
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1422
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1430
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1431
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1434
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1437
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1439
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1455
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1456
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1461
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1509
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1550
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1717
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1733
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1763
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1800
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1875
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1878
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1879
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1885
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1896
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1900
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1903
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1970
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1971
adev->sdma.instance[i].ring.funcs = &sdma_v5_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1972
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1987
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1988
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1989
adev->sdma.trap_irq.funcs = &sdma_v5_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
1990
adev->sdma.illegal_inst_irq.funcs = &sdma_v5_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
293
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
408
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
412
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
626
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
661
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
670
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
698
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
852
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
892
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
893
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
896
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
901
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
912
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
1138
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1144
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1317
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1320
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1325
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1326
mutex_init(&adev->sdma.instance[i].engine_reset_mutex);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1327
adev->sdma.instance[i].funcs = &sdma_v5_2_sdma_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1328
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1341
r = amdgpu_ring_init(adev, ring, 1024, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1348
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1349
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1352
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1355
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1357
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1373
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1374
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1379
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1425
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1461
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1626
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1642
amdgpu_fence_process(&adev->sdma.instance[1].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1658
amdgpu_fence_process(&adev->sdma.instance[2].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1674
amdgpu_fence_process(&adev->sdma.instance[3].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1703
if (adev->sdma.instance[i].fw_version < 70)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1707
if (adev->sdma.instance[i].fw_version < 47)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1711
if (adev->sdma.instance[i].fw_version < 9)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1728
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1765
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1766
if (adev->sdma.instance[i].fw_version < 70 &&
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1880
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1883
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1884
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1890
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1901
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1905
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1908
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1977
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1978
adev->sdma.instance[i].ring.funcs = &sdma_v5_2_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1979
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1994
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1995
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1996
adev->sdma.trap_irq.funcs = &sdma_v5_2_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
1997
adev->sdma.illegal_inst_irq.funcs = &sdma_v5_2_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
256
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
260
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
476
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
510
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
517
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
547
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
699
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
739
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
740
if (!adev->sdma.instance[i].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
743
hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
748
(adev->sdma.instance[i].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
759
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
794
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
1299
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1300
adev->sdma.disable_uq = true;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1303
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1304
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1307
adev->sdma.no_user_submission = true;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1308
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1321
adev->sdma.get_csa_info = &sdma_v6_0_get_csa_info;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1337
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1344
&adev->sdma.fence_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1348
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1349
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1353
ring->no_user_submission = adev->sdma.no_user_submission;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1364
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1371
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1372
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1375
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1383
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1385
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1391
if ((adev->sdma.instance[0].fw_version >= 27) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1395
if ((adev->sdma.instance[0].fw_version >= 18) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1399
if ((adev->sdma.instance[0].fw_version >= 23) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1403
if (adev->sdma.instance[0].fw_version >= 29 && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1407
if ((adev->sdma.instance[0].fw_version >= 14) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1411
if ((adev->sdma.instance[0].fw_version >= 17) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1415
if ((adev->sdma.instance[0].fw_version >= 15) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1419
if ((adev->sdma.instance[0].fw_version >= 10) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1438
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1439
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1444
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1456
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1459
r = amdgpu_irq_get(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1462
r = amdgpu_irq_put(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1514
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1593
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1649
amdgpu_fence_process(&adev->sdma.instance[instances].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1703
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1706
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1707
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1713
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1724
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1728
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1731
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1798
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1799
adev->sdma.instance[i].ring.funcs = &sdma_v6_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1800
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1819
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1820
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1821
adev->sdma.trap_irq.funcs = &sdma_v6_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1822
adev->sdma.fence_irq.funcs = &sdma_v6_0_fence_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
1823
adev->sdma.illegal_inst_irq.funcs = &sdma_v6_0_illegal_inst_irq_funcs;
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
1164
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1170
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1282
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1283
adev->sdma.disable_uq = true;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1286
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1287
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1290
adev->sdma.no_user_submission = true;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1291
adev->sdma.disable_uq = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1305
adev->sdma.get_csa_info = &sdma_v7_0_get_csa_info;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1321
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1328
&adev->sdma.fence_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1332
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1333
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1337
ring->no_user_submission = adev->sdma.no_user_submission;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1348
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1355
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1356
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1359
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1365
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1367
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1374
if ((adev->sdma.instance[0].fw_version >= 7966358) && !adev->sdma.disable_uq)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1389
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1390
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1398
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1410
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1413
r = amdgpu_irq_get(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1416
r = amdgpu_irq_put(adev, &adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1468
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1580
amdgpu_fence_process(&adev->sdma.instance[instances].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1634
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1637
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1638
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1644
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1655
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1659
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1662
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1730
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1731
adev->sdma.instance[i].ring.funcs = &sdma_v7_0_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1732
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1751
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1752
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1753
adev->sdma.trap_irq.funcs = &sdma_v7_0_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1754
adev->sdma.fence_irq.funcs = &sdma_v7_0_fence_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
1755
adev->sdma.illegal_inst_irq.funcs = &sdma_v7_0_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
246
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
250
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
402
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
457
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
485
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
562
adev->doorbell_index.sdma_doorbell_range * adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
636
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
663
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
664
amdgpu_bo_free_kernel(&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
665
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
666
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
689
if (!adev->sdma.instance[0].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
693
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
696
fw_data = (const __le32 *)(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
700
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
704
&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
705
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
706
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
712
memcpy(adev->sdma.instance[i].sdma_fw_ptr, fw_data, fw_size);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
714
amdgpu_bo_kunmap(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
715
amdgpu_bo_unreserve(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
722
lower_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
724
upper_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
759
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
794
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
795
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
811
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1170
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1176
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
121
int xcc_id = adev->sdma.instance[instance].xcc_id;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
122
int xcc_inst = dev_inst % adev->sdma.num_inst_per_xcc;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1274
adev->sdma.no_user_submission = true;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1275
adev->sdma.disable_uq = true;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1278
adev->sdma.no_user_submission = false;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1279
adev->sdma.disable_uq = true;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1309
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1313
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1314
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1318
ring->no_user_submission = adev->sdma.no_user_submission;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1321
if (adev->sdma.instance[i].xcc_id == GET_INST(GC, xcc_id))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1326
xcc_id, GET_INST(SDMA0, i) % adev->sdma.num_inst_per_xcc,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1334
GET_INST(SDMA0, i) % adev->sdma.num_inst_per_xcc);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1336
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1343
adev->sdma.supported_reset =
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1344
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1347
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1353
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1355
adev->sdma.ip_dump = ptr;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1371
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1372
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1378
sdma_v7_1_inst_free_ucode_buffer(adev, adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1380
kfree(adev->sdma.ip_dump);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1391
inst_mask = GENMASK(adev->sdma.num_instances - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1408
sdma_v7_1_inst_ctx_switch_enable(adev, false, adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1409
sdma_v7_1_inst_enable(adev, false, adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1429
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1442
u32 sdma[AMDGPU_MAX_SDMA_INSTANCES];
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1446
for (j = 0; j < adev->sdma.num_instances; j++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1447
sdma[j] = RREG32(sdma_v7_1_get_reg_offset(adev,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1449
if (!(sdma[j] & SDMA0_SDMA_STATUS_REG__IDLE_MASK))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1452
if (j == adev->sdma.num_instances)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1544
GET_INST(GC, xcc_id) * adev->sdma.num_inst_per_xcc;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1545
for (instances = 0; instances < adev->sdma.num_instances; instances++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1549
if (instances > adev->sdma.num_instances - 1) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1558
amdgpu_fence_process(&adev->sdma.instance[instances].ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1599
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1602
drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1603
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1609
adev->sdma.ip_dump[instance_offset + j]);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1620
if (!adev->sdma.ip_dump)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1624
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1627
adev->sdma.ip_dump[instance_offset + j] =
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1693
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1694
adev->sdma.instance[i].ring.funcs = &sdma_v7_1_ring_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1695
adev->sdma.instance[i].ring.me = i;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1699
adev->sdma.instance[i].xcc_id =
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1700
dev_inst / adev->sdma.num_inst_per_xcc;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1715
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_INSTANCE0 +
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1716
adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1717
adev->sdma.trap_irq.funcs = &sdma_v7_1_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
1718
adev->sdma.illegal_inst_irq.funcs = &sdma_v7_1_illegal_inst_irq_funcs;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
240
struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
244
if (sdma && sdma->burst_nop && (i == 0))
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
467
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
544
adev->doorbell_index.sdma_doorbell_range * adev->sdma.num_instances);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
651
amdgpu_bo_free_kernel(&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
652
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
653
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
678
if (!adev->sdma.instance[0].fw)
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
682
adev->sdma.instance[0].fw->data;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
685
fw_data = (const __le32 *)(adev->sdma.instance[0].fw->data +
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
693
&adev->sdma.instance[i].sdma_fw_obj,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
694
&adev->sdma.instance[i].sdma_fw_gpu_addr,
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
695
(void **)&adev->sdma.instance[i].sdma_fw_ptr);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
701
memcpy(adev->sdma.instance[i].sdma_fw_ptr, fw_data, fw_size);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
703
amdgpu_bo_kunmap(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
704
amdgpu_bo_unreserve(adev->sdma.instance[i].sdma_fw_obj);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
711
lower_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
713
upper_32_bits(adev->sdma.instance[i].sdma_fw_gpu_addr));
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
747
inst_mask = GENMASK(NUM_XCC(adev->sdma.sdma_mask) - 1, 0);
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
785
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
786
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
802
if (ring->me >= adev->sdma.num_instances) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
133
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
148
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
149
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/si_dma.c
487
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
drivers/gpu/drm/amd/amdgpu/si_dma.c
504
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/si_dma.c
510
&adev->sdma.trap_irq);
drivers/gpu/drm/amd/amdgpu/si_dma.c
514
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
515
ring = &adev->sdma.instance[i].ring;
drivers/gpu/drm/amd/amdgpu/si_dma.c
520
&adev->sdma.trap_irq,
drivers/gpu/drm/amd/amdgpu/si_dma.c
536
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/si_dma.c
537
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
drivers/gpu/drm/amd/amdgpu/si_dma.c
64
u32 me = (ring == &adev->sdma.instance[0].ring) ? 0 : 1;
drivers/gpu/drm/amd/amdgpu/si_dma.c
654
amdgpu_fence_process(&adev->sdma.instance[0].ring);
drivers/gpu/drm/amd/amdgpu/si_dma.c
656
amdgpu_fence_process(&adev->sdma.instance[1].ring);
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
683
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/si_dma.c
72
u32 me = (ring == &adev->sdma.instance[0].ring) ? 0 : 1;
drivers/gpu/drm/amd/amdgpu/si_dma.c
764
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdgpu/si_dma.c
765
adev->sdma.instance[i].ring.funcs = &si_dma_ring_funcs;
drivers/gpu/drm/amd/amdgpu/si_dma.c
775
adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST;
drivers/gpu/drm/amd/amdgpu/si_dma.c
776
adev->sdma.trap_irq.funcs = &si_dma_trap_irq_funcs;
drivers/gpu/drm/amd/amdgpu/soc15.c
1248
for (i = 0; i < adev->sdma.num_instances; i++) {
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
502
num_sdma = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
566
max_res[AMDGPU_XCP_RES_DMA] = adev->sdma.num_instances;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
851
adev->sdma.num_inst_per_xcc = 2;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
854
GENMASK(adev->sdma.num_inst_per_xcc - 1, 0) <<
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
855
(i * adev->sdma.num_inst_per_xcc);
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
856
adev->sdma.sdma_mask = sdma_mask;
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
857
adev->sdma.num_instances = NUM_XCC(adev->sdma.sdma_mask);
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c
99
for (i = 0; i < adev->sdma.num_instances; i++)
drivers/gpu/drm/amd/amdkfd/kfd_device.c
1517
return node->adev->sdma.num_instances/(int)node->kfd->num_nodes;
drivers/gpu/drm/amd/amdkfd/kfd_device.c
1519
return min(node->adev->sdma.num_instances/(int)node->kfd->num_nodes, 2);
drivers/gpu/drm/amd/amdkfd/kfd_device.c
1525
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/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
696
struct mxl862xx_register_mod sdma = {
drivers/net/dsa/mxl862xx/mxl862xx.c
708
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
1558
writel(0, &ihost->scu_registers->sdma.unsolicited_frame_get_pointer);
drivers/scsi/isci/host.c
2206
val = readl(&ihost->scu_registers->sdma.pdma_configuration);
drivers/scsi/isci/host.c
2208
writel(val, &ihost->scu_registers->sdma.pdma_configuration);
drivers/scsi/isci/host.c
2210
val = readl(&ihost->scu_registers->sdma.cdma_configuration);
drivers/scsi/isci/host.c
2212
writel(val, &ihost->scu_registers->sdma.cdma_configuration);
drivers/scsi/isci/host.c
2322
&ihost->scu_registers->sdma.uf_header_base_address_lower);
drivers/scsi/isci/host.c
2324
&ihost->scu_registers->sdma.uf_header_base_address_upper);
drivers/scsi/isci/host.c
2327
&ihost->scu_registers->sdma.uf_address_table_lower);
drivers/scsi/isci/host.c
2329
&ihost->scu_registers->sdma.uf_address_table_upper);
drivers/scsi/isci/host.c
2550
&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
370
struct sdma __iomem *sdma = &qe_immr->sdma;
drivers/soc/fsl/qe/qe.c
382
&sdma->sdebcr);
drivers/soc/fsl/qe/qe.c
384
&sdma->sdmr);
include/soc/fsl/qe/immap_qe.h
448
struct sdma sdma; /* SDMA */
include/uapi/drm/amdgpu_drm.h
1650
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 */