!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-oracle-6.8-headers-6.8.0-1027/include/linux/   drwxr-xr-x
Free 83.29 GB of 96.73 GB (86.11%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     omap-dma.h (9.54 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __LINUX_OMAP_DMA_H
#define __LINUX_OMAP_DMA_H
/*
 *  Legacy OMAP DMA handling defines and functions
 *
 *  NOTE: Do not use these any longer.
 *
 *  Use the generic dmaengine functions as defined in
 *  include/linux/dmaengine.h.
 *
 *  Copyright (C) 2003 Nokia Corporation
 *  Author: Juha Yrjölä <[email protected]>
 *
 */

#include <linux/platform_device.h>

#define INT_DMA_LCD            (NR_IRQS_LEGACY + 25)

#define OMAP1_DMA_TOUT_IRQ        (1 << 0)
#define OMAP_DMA_DROP_IRQ        (1 << 1)
#define OMAP_DMA_HALF_IRQ        (1 << 2)
#define OMAP_DMA_FRAME_IRQ        (1 << 3)
#define OMAP_DMA_LAST_IRQ        (1 << 4)
#define OMAP_DMA_BLOCK_IRQ        (1 << 5)
#define OMAP1_DMA_SYNC_IRQ        (1 << 6)
#define OMAP2_DMA_PKT_IRQ        (1 << 7)
#define OMAP2_DMA_TRANS_ERR_IRQ        (1 << 8)
#define OMAP2_DMA_SECURE_ERR_IRQ    (1 << 9)
#define OMAP2_DMA_SUPERVISOR_ERR_IRQ    (1 << 10)
#define OMAP2_DMA_MISALIGNED_ERR_IRQ    (1 << 11)

#define OMAP_DMA_CCR_EN            (1 << 7)
#define OMAP_DMA_CCR_RD_ACTIVE        (1 << 9)
#define OMAP_DMA_CCR_WR_ACTIVE        (1 << 10)
#define OMAP_DMA_CCR_SEL_SRC_DST_SYNC    (1 << 24)
#define OMAP_DMA_CCR_BUFFERING_DISABLE    (1 << 25)

#define OMAP_DMA_DATA_TYPE_S8        0x00
#define OMAP_DMA_DATA_TYPE_S16        0x01
#define OMAP_DMA_DATA_TYPE_S32        0x02

#define OMAP_DMA_SYNC_ELEMENT        0x00
#define OMAP_DMA_SYNC_FRAME        0x01
#define OMAP_DMA_SYNC_BLOCK        0x02
#define OMAP_DMA_SYNC_PACKET        0x03

#define OMAP_DMA_DST_SYNC_PREFETCH    0x02
#define OMAP_DMA_SRC_SYNC        0x01
#define OMAP_DMA_DST_SYNC        0x00

#define OMAP_DMA_PORT_EMIFF        0x00
#define OMAP_DMA_PORT_EMIFS        0x01
#define OMAP_DMA_PORT_OCP_T1        0x02
#define OMAP_DMA_PORT_TIPB        0x03
#define OMAP_DMA_PORT_OCP_T2        0x04
#define OMAP_DMA_PORT_MPUI        0x05

#define OMAP_DMA_AMODE_CONSTANT        0x00
#define OMAP_DMA_AMODE_POST_INC        0x01
#define OMAP_DMA_AMODE_SINGLE_IDX    0x02
#define OMAP_DMA_AMODE_DOUBLE_IDX    0x03

#define DMA_DEFAULT_FIFO_DEPTH        0x10
#define DMA_DEFAULT_ARB_RATE        0x01
/* Pass THREAD_RESERVE ORed with THREAD_FIFO for tparams */
#define DMA_THREAD_RESERVE_NORM        (0x00 << 12) /* Def */
#define DMA_THREAD_RESERVE_ONET        (0x01 << 12)
#define DMA_THREAD_RESERVE_TWOT        (0x02 << 12)
#define DMA_THREAD_RESERVE_THREET    (0x03 << 12)
#define DMA_THREAD_FIFO_NONE        (0x00 << 14) /* Def */
#define DMA_THREAD_FIFO_75        (0x01 << 14)
#define DMA_THREAD_FIFO_25        (0x02 << 14)
#define DMA_THREAD_FIFO_50        (0x03 << 14)

/* DMA4_OCP_SYSCONFIG bits */
#define DMA_SYSCONFIG_MIDLEMODE_MASK        (3 << 12)
#define DMA_SYSCONFIG_CLOCKACTIVITY_MASK    (3 << 8)
#define DMA_SYSCONFIG_EMUFREE            (1 << 5)
#define DMA_SYSCONFIG_SIDLEMODE_MASK        (3 << 3)
#define DMA_SYSCONFIG_SOFTRESET            (1 << 2)
#define DMA_SYSCONFIG_AUTOIDLE            (1 << 0)

#define DMA_SYSCONFIG_MIDLEMODE(n)        ((n) << 12)
#define DMA_SYSCONFIG_SIDLEMODE(n)        ((n) << 3)

#define DMA_IDLEMODE_SMARTIDLE            0x2
#define DMA_IDLEMODE_NO_IDLE            0x1
#define DMA_IDLEMODE_FORCE_IDLE            0x0

/* Chaining modes*/
#ifndef CONFIG_ARCH_OMAP1
#define OMAP_DMA_STATIC_CHAIN        0x1
#define OMAP_DMA_DYNAMIC_CHAIN        0x2
#define OMAP_DMA_CHAIN_ACTIVE        0x1
#define OMAP_DMA_CHAIN_INACTIVE        0x0
#endif

#define DMA_CH_PRIO_HIGH        0x1
#define DMA_CH_PRIO_LOW            0x0 /* Def */

/* Errata handling */
#define IS_DMA_ERRATA(id)        (errata & (id))
#define SET_DMA_ERRATA(id)        (errata |= (id))

#define DMA_ERRATA_IFRAME_BUFFERING    BIT(0x0)
#define DMA_ERRATA_PARALLEL_CHANNELS    BIT(0x1)
#define DMA_ERRATA_i378            BIT(0x2)
#define DMA_ERRATA_i541            BIT(0x3)
#define DMA_ERRATA_i88            BIT(0x4)
#define DMA_ERRATA_3_3            BIT(0x5)
#define DMA_ROMCODE_BUG            BIT(0x6)

/* Attributes for OMAP DMA Contrller */
#define DMA_LINKED_LCH            BIT(0x0)
#define GLOBAL_PRIORITY            BIT(0x1)
#define RESERVE_CHANNEL            BIT(0x2)
#define IS_CSSA_32            BIT(0x3)
#define IS_CDSA_32            BIT(0x4)
#define IS_RW_PRIORITY            BIT(0x5)
#define ENABLE_1510_MODE        BIT(0x6)
#define SRC_PORT            BIT(0x7)
#define DST_PORT            BIT(0x8)
#define SRC_INDEX            BIT(0x9)
#define DST_INDEX            BIT(0xa)
#define IS_BURST_ONLY4            BIT(0xb)
#define CLEAR_CSR_ON_READ        BIT(0xc)
#define IS_WORD_16            BIT(0xd)
#define ENABLE_16XX_MODE        BIT(0xe)
#define HS_CHANNELS_RESERVED        BIT(0xf)

/* Defines for DMA Capabilities */
#define DMA_HAS_TRANSPARENT_CAPS    (0x1 << 18)
#define DMA_HAS_CONSTANT_FILL_CAPS    (0x1 << 19)
#define DMA_HAS_DESCRIPTOR_CAPS        (0x3 << 20)

enum omap_reg_offsets {

GCR,        GSCR,        GRST1,        HW_ID,
PCH2_ID,    PCH0_ID,    PCH1_ID,    PCHG_ID,
PCHD_ID,    CAPS_0,        CAPS_1,        CAPS_2,
CAPS_3,        CAPS_4,        PCH2_SR,    PCH0_SR,
PCH1_SR,    PCHD_SR,    REVISION,    IRQSTATUS_L0,
IRQSTATUS_L1,    IRQSTATUS_L2,    IRQSTATUS_L3,    IRQENABLE_L0,
IRQENABLE_L1,    IRQENABLE_L2,    IRQENABLE_L3,    SYSSTATUS,
OCP_SYSCONFIG,

/* omap1+ specific */
CPC, CCR2, LCH_CTRL,

/* Common registers for all omap's */
CSDP,        CCR,        CICR,        CSR,
CEN,        CFN,        CSFI,        CSEI,
CSAC,        CDAC,        CDEI,
CDFI,        CLNK_CTRL,

/* Channel specific registers */
CSSA,        CDSA,        COLOR,
CCEN,        CCFN,

/* omap3630 and omap4 specific */
CDP,        CNDP,        CCDN,

};

enum omap_dma_burst_mode {
    OMAP_DMA_DATA_BURST_DIS = 0,
    OMAP_DMA_DATA_BURST_4,
    OMAP_DMA_DATA_BURST_8,
    OMAP_DMA_DATA_BURST_16,
};

enum end_type {
    OMAP_DMA_LITTLE_ENDIAN = 0,
    OMAP_DMA_BIG_ENDIAN
};

enum omap_dma_color_mode {
    OMAP_DMA_COLOR_DIS = 0,
    OMAP_DMA_CONSTANT_FILL,
    OMAP_DMA_TRANSPARENT_COPY
};

enum omap_dma_write_mode {
    OMAP_DMA_WRITE_NON_POSTED = 0,
    OMAP_DMA_WRITE_POSTED,
    OMAP_DMA_WRITE_LAST_NON_POSTED
};

enum omap_dma_channel_mode {
    OMAP_DMA_LCH_2D = 0,
    OMAP_DMA_LCH_G,
    OMAP_DMA_LCH_P,
    OMAP_DMA_LCH_PD
};

struct omap_dma_channel_params {
    int data_type;        /* data type 8,16,32 */
    int elem_count;        /* number of elements in a frame */
    int frame_count;    /* number of frames in a element */

    int src_port;        /* Only on OMAP1 REVISIT: Is this needed? */
    int src_amode;        /* constant, post increment, indexed,
                    double indexed */
    unsigned long src_start;    /* source address : physical */
    int src_ei;        /* source element index */
    int src_fi;        /* source frame index */

    int dst_port;        /* Only on OMAP1 REVISIT: Is this needed? */
    int dst_amode;        /* constant, post increment, indexed,
                    double indexed */
    unsigned long dst_start;    /* source address : physical */
    int dst_ei;        /* source element index */
    int dst_fi;        /* source frame index */

    int trigger;        /* trigger attached if the channel is
                    synchronized */
    int sync_mode;        /* sycn on element, frame , block or packet */
    int src_or_dst_synch;    /* source synch(1) or destination synch(0) */

    int ie;            /* interrupt enabled */

    unsigned char read_prio;/* read priority */
    unsigned char write_prio;/* write priority */

#ifndef CONFIG_ARCH_OMAP1
    enum omap_dma_burst_mode burst_mode; /* Burst mode 4/8/16 words */
#endif
};

struct omap_dma_lch {
    int next_lch;
    int dev_id;
    u16 saved_csr;
    u16 enabled_irqs;
    const char *dev_name;
    void (*callback)(int lch, u16 ch_status, void *data);
    void *data;
    long flags;
    int state;
    int chain_id;
    int status;
};

struct omap_dma_dev_attr {
    u32 dev_caps;
    u16 lch_count;
    u16 chan_count;
};

enum {
    OMAP_DMA_REG_NONE,
    OMAP_DMA_REG_16BIT,
    OMAP_DMA_REG_2X16BIT,
    OMAP_DMA_REG_32BIT,
};

struct omap_dma_reg {
    u16    offset;
    u8    stride;
    u8    type;
};

#define SDMA_FILTER_PARAM(hw_req)    ((int[]) { (hw_req) })
struct dma_slave_map;

/* System DMA platform data structure */
struct omap_system_dma_plat_info {
    const struct omap_dma_reg *reg_map;
    unsigned channel_stride;
    struct omap_dma_dev_attr *dma_attr;
    u32 errata;
    void (*show_dma_caps)(void);
    void (*clear_lch_regs)(int lch);
    void (*clear_dma)(int lch);
    void (*dma_write)(u32 val, int reg, int lch);
    u32 (*dma_read)(int reg, int lch);

    const struct dma_slave_map *slave_map;
    int slavecnt;
};

#ifdef CONFIG_ARCH_OMAP2PLUS
#define dma_omap2plus()    1
#else
#define dma_omap2plus()    0
#endif
#define dma_omap1()    (!dma_omap2plus())
#define __dma_omap15xx(d) (dma_omap1() && (d)->dev_caps & ENABLE_1510_MODE)
#define __dma_omap16xx(d) (dma_omap1() && (d)->dev_caps & ENABLE_16XX_MODE)
#define dma_omap15xx()    __dma_omap15xx(d)
#define dma_omap16xx()    __dma_omap16xx(d)

extern struct omap_system_dma_plat_info *omap_get_plat_info(void);

#if defined(CONFIG_ARCH_OMAP1)
extern void omap_set_dma_priority(int lch, int dst_port, int priority);
#else
static inline void omap_set_dma_priority(int lch, int dst_port, int priority)
{
}
#endif

extern int omap_request_dma(int dev_id, const char *dev_name,
            void (*callback)(int lch, u16 ch_status, void *data),
            void *data, int *dma_ch);
extern void omap_free_dma(int ch);
#if IS_ENABLED(CONFIG_USB_OMAP)
extern void omap_disable_dma_irq(int ch, u16 irq_bits);
extern void omap_start_dma(int lch);
extern void omap_stop_dma(int lch);
extern void omap_set_dma_transfer_params(int lch, int data_type,
                     int elem_count, int frame_count,
                     int sync_mode,
                     int dma_trigger, int src_or_dst_synch);
extern void omap_set_dma_channel_mode(int lch, enum omap_dma_channel_mode mode);

extern void omap_set_dma_src_params(int lch, int src_port, int src_amode,
                    unsigned long src_start,
                    int src_ei, int src_fi);
extern void omap_set_dma_src_data_pack(int lch, int enable);
extern void omap_set_dma_src_burst_mode(int lch,
                    enum omap_dma_burst_mode burst_mode);

extern void omap_set_dma_dest_params(int lch, int dest_port, int dest_amode,
                     unsigned long dest_start,
                     int dst_ei, int dst_fi);
extern void omap_set_dma_dest_data_pack(int lch, int enable);
extern void omap_set_dma_dest_burst_mode(int lch,
                     enum omap_dma_burst_mode burst_mode);

extern dma_addr_t omap_get_dma_src_pos(int lch);
extern dma_addr_t omap_get_dma_dst_pos(int lch);
extern int omap_get_dma_active_status(int lch);
#endif

extern int omap_dma_running(void);

#if IS_ENABLED(CONFIG_FB_OMAP)
extern int omap_lcd_dma_running(void);
#else
static inline int omap_lcd_dma_running(void)
{
    return 0;
}
#endif

#endif /* __LINUX_OMAP_DMA_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0032 ]--