Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

soc: ti: k3-ringacc: Use the ti_sci set_cfg callback for ring configuration

Switch to the new set_cfg to configure the ring.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>

authored by

Peter Ujfalusi and committed by
Santosh Shilimkar
bb49ca00 3c201753

+32 -47
+32 -47
drivers/soc/ti/k3-ringacc.c
··· 365 365 366 366 static void k3_ringacc_ring_reset_sci(struct k3_ring *ring) 367 367 { 368 + struct ti_sci_msg_rm_ring_cfg ring_cfg = { 0 }; 368 369 struct k3_ringacc *ringacc = ring->parent; 369 370 int ret; 370 371 371 - ret = ringacc->tisci_ring_ops->config( 372 - ringacc->tisci, 373 - TI_SCI_MSG_VALUE_RM_RING_COUNT_VALID, 374 - ringacc->tisci_dev_id, 375 - ring->ring_id, 376 - 0, 377 - 0, 378 - ring->size, 379 - 0, 380 - 0, 381 - 0); 372 + ring_cfg.nav_id = ringacc->tisci_dev_id; 373 + ring_cfg.index = ring->ring_id; 374 + ring_cfg.valid_params = TI_SCI_MSG_VALUE_RM_RING_COUNT_VALID; 375 + ring_cfg.count = ring->size; 376 + 377 + ret = ringacc->tisci_ring_ops->set_cfg(ringacc->tisci, &ring_cfg); 382 378 if (ret) 383 379 dev_err(ringacc->dev, "TISCI reset ring fail (%d) ring_idx %d\n", 384 380 ret, ring->ring_id); ··· 394 398 static void k3_ringacc_ring_reconfig_qmode_sci(struct k3_ring *ring, 395 399 enum k3_ring_mode mode) 396 400 { 401 + struct ti_sci_msg_rm_ring_cfg ring_cfg = { 0 }; 397 402 struct k3_ringacc *ringacc = ring->parent; 398 403 int ret; 399 404 400 - ret = ringacc->tisci_ring_ops->config( 401 - ringacc->tisci, 402 - TI_SCI_MSG_VALUE_RM_RING_MODE_VALID, 403 - ringacc->tisci_dev_id, 404 - ring->ring_id, 405 - 0, 406 - 0, 407 - 0, 408 - mode, 409 - 0, 410 - 0); 405 + ring_cfg.nav_id = ringacc->tisci_dev_id; 406 + ring_cfg.index = ring->ring_id; 407 + ring_cfg.valid_params = TI_SCI_MSG_VALUE_RM_RING_MODE_VALID; 408 + ring_cfg.mode = mode; 409 + 410 + ret = ringacc->tisci_ring_ops->set_cfg(ringacc->tisci, &ring_cfg); 411 411 if (ret) 412 412 dev_err(ringacc->dev, "TISCI reconf qmode fail (%d) ring_idx %d\n", 413 413 ret, ring->ring_id); ··· 470 478 471 479 static void k3_ringacc_ring_free_sci(struct k3_ring *ring) 472 480 { 481 + struct ti_sci_msg_rm_ring_cfg ring_cfg = { 0 }; 473 482 struct k3_ringacc *ringacc = ring->parent; 474 483 int ret; 475 484 476 - ret = ringacc->tisci_ring_ops->config( 477 - ringacc->tisci, 478 - TI_SCI_MSG_VALUE_RM_ALL_NO_ORDER, 479 - ringacc->tisci_dev_id, 480 - ring->ring_id, 481 - 0, 482 - 0, 483 - 0, 484 - 0, 485 - 0, 486 - 0); 485 + ring_cfg.nav_id = ringacc->tisci_dev_id; 486 + ring_cfg.index = ring->ring_id; 487 + ring_cfg.valid_params = TI_SCI_MSG_VALUE_RM_ALL_NO_ORDER; 488 + 489 + ret = ringacc->tisci_ring_ops->set_cfg(ringacc->tisci, &ring_cfg); 487 490 if (ret) 488 491 dev_err(ringacc->dev, "TISCI ring free fail (%d) ring_idx %d\n", 489 492 ret, ring->ring_id); ··· 562 575 563 576 static int k3_ringacc_ring_cfg_sci(struct k3_ring *ring) 564 577 { 578 + struct ti_sci_msg_rm_ring_cfg ring_cfg = { 0 }; 565 579 struct k3_ringacc *ringacc = ring->parent; 566 - u32 ring_idx; 567 580 int ret; 568 581 569 582 if (!ringacc->tisci) 570 583 return -EINVAL; 571 584 572 - ring_idx = ring->ring_id; 573 - ret = ringacc->tisci_ring_ops->config( 574 - ringacc->tisci, 575 - TI_SCI_MSG_VALUE_RM_ALL_NO_ORDER, 576 - ringacc->tisci_dev_id, 577 - ring_idx, 578 - lower_32_bits(ring->ring_mem_dma), 579 - upper_32_bits(ring->ring_mem_dma), 580 - ring->size, 581 - ring->mode, 582 - ring->elm_size, 583 - 0); 585 + ring_cfg.nav_id = ringacc->tisci_dev_id; 586 + ring_cfg.index = ring->ring_id; 587 + ring_cfg.valid_params = TI_SCI_MSG_VALUE_RM_ALL_NO_ORDER; 588 + ring_cfg.addr_lo = lower_32_bits(ring->ring_mem_dma); 589 + ring_cfg.addr_hi = upper_32_bits(ring->ring_mem_dma); 590 + ring_cfg.count = ring->size; 591 + ring_cfg.mode = ring->mode; 592 + ring_cfg.size = ring->elm_size; 593 + 594 + ret = ringacc->tisci_ring_ops->set_cfg(ringacc->tisci, &ring_cfg); 584 595 if (ret) 585 596 dev_err(ringacc->dev, "TISCI config ring fail (%d) ring_idx %d\n", 586 - ret, ring_idx); 597 + ret, ring->ring_id); 587 598 588 599 return ret; 589 600 }