Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/linux/dma/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  k3-psil.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 *  Copyright (C) 2019 Texas Instruments Incorporated - https://www.ti.com
 */


#ifndef K3_PSIL_H_
#define K3_PSIL_H_

#include <linux/types.h>

#define K3_PSIL_DST_THREAD_ID_OFFSET 0x8000

struct device;

/**
 * enum udma_tp_level - Channel Throughput Levels
 * @UDMA_TP_NORMAL: Normal channel
 * @UDMA_TP_HIGH: High Throughput channel
 * @UDMA_TP_ULTRAHIGH: Ultra High Throughput channel
 */

enum udma_tp_level {
 UDMA_TP_NORMAL = 0,
 UDMA_TP_HIGH,
 UDMA_TP_ULTRAHIGH,
 UDMA_TP_LAST,
};

/**
 * enum psil_endpoint_type - PSI-L Endpoint type
 * @PSIL_EP_NATIVE: Normal channel
 * @PSIL_EP_PDMA_XY: XY mode PDMA
 * @PSIL_EP_PDMA_MCAN: MCAN mode PDMA
 * @PSIL_EP_PDMA_AASRC: AASRC mode PDMA
 */

enum psil_endpoint_type {
 PSIL_EP_NATIVE = 0,
 PSIL_EP_PDMA_XY,
 PSIL_EP_PDMA_MCAN,
 PSIL_EP_PDMA_AASRC,
};

/**
 * struct psil_endpoint_config - PSI-L Endpoint configuration
 * @ep_type: PSI-L endpoint type
 * @channel_tpl: Desired throughput level for the channel
 * @pkt_mode: If set, the channel must be in Packet mode, otherwise in
 * TR mode
 * @notdpkt: TDCM must be suppressed on the TX channel
 * @needs_epib: Endpoint needs EPIB
 * @pdma_acc32: ACC32 must be enabled on the PDMA side
 * @pdma_burst: BURST must be enabled on the PDMA side
 * @psd_size: If set, PSdata is used by the endpoint
 * @mapped_channel_id: PKTDMA thread to channel mapping for mapped channels.
 * The thread must be serviced by the specified channel if
 * mapped_channel_id is >= 0 in case of PKTDMA
 * @flow_start: PKDMA flow range start of mapped channel. Unmapped
 * channels use flow_id == chan_id
 * @flow_num: PKDMA flow count of mapped channel. Unmapped channels
 * use flow_id == chan_id
 * @default_flow_id: PKDMA default (r)flow index of mapped channel.
 * Must be within the flow range of the mapped channel.
 */

struct psil_endpoint_config {
 enum psil_endpoint_type ep_type;
 enum udma_tp_level channel_tpl;

 unsigned pkt_mode:1;
 unsigned notdpkt:1;
 unsigned needs_epib:1;
 /* PDMA properties, valid for PSIL_EP_PDMA_* */
 unsigned pdma_acc32:1;
 unsigned pdma_burst:1;

 u32 psd_size;
 /* PKDMA mapped channel */
 s16 mapped_channel_id;
 /* PKTDMA tflow and rflow ranges for mapped channel */
 u16 flow_start;
 u16 flow_num;
 s16 default_flow_id;
};

int psil_set_new_ep_config(struct device *dev, const char *name,
      struct psil_endpoint_config *ep_config);

#endif /* K3_PSIL_H_ */

Messung V0.5
C=99 H=99 G=98

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.