cregit-Linux how code gets into the kernel

Release 4.18 drivers/staging/fsl-mc/include/dpaa2-global.h

/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
/*
 * Copyright 2014-2016 Freescale Semiconductor Inc.
 * Copyright 2016 NXP
 *
 */
#ifndef __FSL_DPAA2_GLOBAL_H

#define __FSL_DPAA2_GLOBAL_H

#include <linux/types.h>
#include <linux/cpumask.h>
#include "dpaa2-fd.h"


struct dpaa2_dq {
	
union {
		
struct common {
			
u8 verb;
			
u8 reserved[63];
		
} common;
		
struct dq {
			
u8 verb;
			
u8 stat;
			
__le16 seqnum;
			
__le16 oprid;
			
u8 reserved;
			
u8 tok;
			
__le32 fqid;
			
u32 reserved2;
			
__le32 fq_byte_cnt;
			
__le32 fq_frm_cnt;
			
__le64 fqd_ctx;
			
u8 fd[32];
		
} dq;
		
struct scn {
			
u8 verb;
			
u8 stat;
			
u8 state;
			
u8 reserved;
			
__le32 rid_tok;
			
__le64 ctx;
		
} scn;
	};
};

/* Parsing frame dequeue results */
/* FQ empty */

#define DPAA2_DQ_STAT_FQEMPTY       0x80
/* FQ held active */

#define DPAA2_DQ_STAT_HELDACTIVE    0x40
/* FQ force eligible */

#define DPAA2_DQ_STAT_FORCEELIGIBLE 0x20
/* valid frame */

#define DPAA2_DQ_STAT_VALIDFRAME    0x10
/* FQ ODP enable */

#define DPAA2_DQ_STAT_ODPVALID      0x04
/* volatile dequeue */

#define DPAA2_DQ_STAT_VOLATILE      0x02
/* volatile dequeue command is expired */

#define DPAA2_DQ_STAT_EXPIRED       0x01


#define DQ_FQID_MASK		0x00FFFFFF

#define DQ_FRAME_COUNT_MASK	0x00FFFFFF

/**
 * dpaa2_dq_flags() - Get the stat field of dequeue response
 * @dq: the dequeue result.
 */

static inline u32 dpaa2_dq_flags(const struct dpaa2_dq *dq) { return dq->dq.stat; }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge20100.00%1100.00%
Total20100.00%1100.00%

/** * dpaa2_dq_is_pull() - Check whether the dq response is from a pull * command. * @dq: the dequeue result * * Return 1 for volatile(pull) dequeue, 0 for static dequeue. */
static inline int dpaa2_dq_is_pull(const struct dpaa2_dq *dq) { return (int)(dpaa2_dq_flags(dq) & DPAA2_DQ_STAT_VOLATILE); }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge26100.00%1100.00%
Total26100.00%1100.00%

/** * dpaa2_dq_is_pull_complete() - Check whether the pull command is completed. * @dq: the dequeue result * * Return boolean. */
static inline bool dpaa2_dq_is_pull_complete(const struct dpaa2_dq *dq) { return !!(dpaa2_dq_flags(dq) & DPAA2_DQ_STAT_EXPIRED); }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge25100.00%1100.00%
Total25100.00%1100.00%

/** * dpaa2_dq_seqnum() - Get the seqnum field in dequeue response * @dq: the dequeue result * * seqnum is valid only if VALIDFRAME flag is TRUE * * Return seqnum. */
static inline u16 dpaa2_dq_seqnum(const struct dpaa2_dq *dq) { return le16_to_cpu(dq->dq.seqnum); }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge23100.00%1100.00%
Total23100.00%1100.00%

/** * dpaa2_dq_odpid() - Get the odpid field in dequeue response * @dq: the dequeue result * * odpid is valid only if ODPVALID flag is TRUE. * * Return odpid. */
static inline u16 dpaa2_dq_odpid(const struct dpaa2_dq *dq) { return le16_to_cpu(dq->dq.oprid); }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge23100.00%1100.00%
Total23100.00%1100.00%

/** * dpaa2_dq_fqid() - Get the fqid in dequeue response * @dq: the dequeue result * * Return fqid. */
static inline u32 dpaa2_dq_fqid(const struct dpaa2_dq *dq) { return le32_to_cpu(dq->dq.fqid) & DQ_FQID_MASK; }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge25100.00%1100.00%
Total25100.00%1100.00%

/** * dpaa2_dq_byte_count() - Get the byte count in dequeue response * @dq: the dequeue result * * Return the byte count remaining in the FQ. */
static inline u32 dpaa2_dq_byte_count(const struct dpaa2_dq *dq) { return le32_to_cpu(dq->dq.fq_byte_cnt); }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge23100.00%1100.00%
Total23100.00%1100.00%

/** * dpaa2_dq_frame_count() - Get the frame count in dequeue response * @dq: the dequeue result * * Return the frame count remaining in the FQ. */
static inline u32 dpaa2_dq_frame_count(const struct dpaa2_dq *dq) { return le32_to_cpu(dq->dq.fq_frm_cnt) & DQ_FRAME_COUNT_MASK; }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge25100.00%1100.00%
Total25100.00%1100.00%

/** * dpaa2_dq_fd_ctx() - Get the frame queue context in dequeue response * @dq: the dequeue result * * Return the frame queue context. */
static inline u64 dpaa2_dq_fqd_ctx(const struct dpaa2_dq *dq) { return le64_to_cpu(dq->dq.fqd_ctx); }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge23100.00%1100.00%
Total23100.00%1100.00%

/** * dpaa2_dq_fd() - Get the frame descriptor in dequeue response * @dq: the dequeue result * * Return the frame descriptor. */
static inline const struct dpaa2_fd *dpaa2_dq_fd(const struct dpaa2_dq *dq) { return (const struct dpaa2_fd *)&dq->dq.fd[0]; }

Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge33100.00%1100.00%
Total33100.00%1100.00%

#endif /* __FSL_DPAA2_GLOBAL_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Roy Pledge41199.52%150.00%
Bogdan Purcareata20.48%150.00%
Total413100.00%2100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.