dma: gpdma: fix channel config

This will use DW_CFGH_DST instead of DW_CFGH_DST_PER
to correctly setup cfg_hi. This is critical for ALH transfer.

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
This commit is contained in:
Adrian Bonislawski 2022-09-02 16:13:28 +02:00 committed by Fabio Baltieri
commit e5e7ee88a3

View file

@ -292,7 +292,7 @@ int dw_dma_config(const struct device *dev, uint32_t channel,
/* Assign a hardware handshake interface (0-15) to the /* Assign a hardware handshake interface (0-15) to the
* destination of the channel * destination of the channel
*/ */
chan_data->cfg_hi |= DW_CFGH_DST_PER(cfg->dma_slot); chan_data->cfg_hi |= DW_CFGH_DST(cfg->dma_slot);
break; break;
case PERIPHERAL_TO_MEMORY: case PERIPHERAL_TO_MEMORY:
lli_desc->ctrl_lo |= DW_CTLL_FC_P2M | DW_CTLL_SRC_FIX | lli_desc->ctrl_lo |= DW_CTLL_FC_P2M | DW_CTLL_SRC_FIX |
@ -311,7 +311,7 @@ int dw_dma_config(const struct device *dev, uint32_t channel,
/* Assign a hardware handshake interface (0-15) to the /* Assign a hardware handshake interface (0-15) to the
* source of the channel * source of the channel
*/ */
chan_data->cfg_hi |= DW_CFGH_SRC_PER(cfg->dma_slot); chan_data->cfg_hi |= DW_CFGH_SRC(cfg->dma_slot);
break; break;
default: default:
LOG_ERR("%s: dma %s channel %d invalid direction %d", LOG_ERR("%s: dma %s channel %d invalid direction %d",