From: Laurentiu Tudor <laurentiu.tudor@nxp.com>
To: Stuart Yoder <stuart.yoder@nxp.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Cc: "devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"agraf@suse.de" <agraf@suse.de>, "arnd@arndb.de" <arnd@arndb.de>,
Leo Li <leoyang.li@nxp.com>,
Ioana Ciornei <ioana.ciornei@nxp.com>,
"Catalin Horghidan" <catalin.horghidan@nxp.com>,
Ruxandra Ioana Radulescu <ruxandra.radulescu@nxp.com>,
Roy Pledge <roy.pledge@nxp.com>
Subject: Re: [PATCH v3 5/9] bus: fsl-mc: dpio: add global dpaa2 definitions
Date: Fri, 2 Dec 2016 12:19:07 +0000 [thread overview]
Message-ID: <584166BA.9050805@nxp.com> (raw)
In-Reply-To: <1480632094-3621-6-git-send-email-stuart.yoder@nxp.com>
On 12/02/2016 12:41 AM, Stuart Yoder wrote:
> From: Roy Pledge <Roy.Pledge@nxp.com>
>
> Create header for global dpaa2 definitions. Add definitions
> for dequeue results.
>
> Signed-off-by: Roy Pledge <Roy.Pledge@nxp.com>
> Signed-off-by: Stuart Yoder <stuart.yoder@nxp.com>
> ---
> include/linux/fsl/dpaa2-global.h | 203 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 203 insertions(+)
> create mode 100644 include/linux/fsl/dpaa2-global.h
>
> diff --git a/include/linux/fsl/dpaa2-global.h b/include/linux/fsl/dpaa2-global.h
> new file mode 100644
> index 0000000..3ee3f29
> --- /dev/null
> +++ b/include/linux/fsl/dpaa2-global.h
> @@ -0,0 +1,203 @@
> +/*
> + * Copyright 2014-2016 Freescale Semiconductor Inc.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions are met:
> + * * Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + * * Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> + * * Neither the name of Freescale Semiconductor nor the
> + * names of its contributors may be used to endorse or promote products
> + * derived from this software without specific prior written permission.
> + *
> + * ALTERNATIVELY, this software may be distributed under the terms of the
> + * GNU General Public License ("GPL") as published by the Free Software
> + * Foundation, either version 2 of that License or (at your option) any
> + * later version.
> + *
> + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
> + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
> + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + */
> +#ifndef __FSL_DPAA2_GLOBAL_H
> +#define __FSL_DPAA2_GLOBAL_H
> +
> +#include <linux/types.h>
> +#include <linux/cpumask.h>
> +#include <linux/fsl/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;
> + };
> +};
> +
> +
Extra blank line.
> +/* 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
We should have these 2 macro values aligned too.
> +/**
> + * 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;
> +}
> +
> +/**
> + * 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);
> +}
> +
> +/**
> + * dpaa2_dq_is_pull_complete() - Check whether the pull command is completed.
> + * @dq: the dequeue result
> + *
> + * Return boolean.
Why not use bool for the return type then?
> + */
> +static inline int dpaa2_dq_is_pull_complete(
> + const struct dpaa2_dq *dq)
> +{
> + return (int)(dpaa2_dq_flags(dq) & DPAA2_DQ_STAT_EXPIRED);
> +}
> +
> +/**
> + * 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);
> +}
> +
> +/**
> + * dpaa2_dq_odpid() - Get the odpid field in dequeue response
> + * @dq: the dequeue result
> + *
> + * odpid is valid only if ODPVAILD flag is TRUE.
s/ODPVAILD/ODPVALID/
---
Best Regards, Laurentiu
next prev parent reply other threads:[~2016-12-02 12:51 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-01 22:41 [PATCH v3 0/9] staging: fsl-mc: move bus driver out of staging, add dpio Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 1/9] staging: fsl-mc: move bus driver out of staging Stuart Yoder
2016-12-07 15:52 ` Greg KH
2016-12-07 20:19 ` Stuart Yoder
2016-12-08 16:05 ` Greg KH
2016-12-09 0:36 ` Stuart Yoder
2016-12-09 7:10 ` Greg KH
2016-12-09 15:53 ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 2/9] bus: fsl-mc: dpio: add DPIO driver overview document Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 3/9] bus: fsl-mc: dpio: add APIs for DPIO objects Stuart Yoder
2016-12-02 11:26 ` Laurentiu Tudor
2016-12-15 16:36 ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 4/9] bus: fsl-mc: dpio: add frame descriptor and scatter/gather APIs Stuart Yoder
2016-12-02 12:12 ` Laurentiu Tudor
2016-12-05 20:52 ` Dan Carpenter
2016-12-06 10:35 ` Laurentiu Tudor
2016-12-15 16:41 ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 5/9] bus: fsl-mc: dpio: add global dpaa2 definitions Stuart Yoder
2016-12-02 12:19 ` Laurentiu Tudor [this message]
2016-12-15 17:12 ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 6/9] bus: fsl-mc: dpio: add QBMan portal APIs for DPAA2 Stuart Yoder
2016-12-02 12:40 ` Laurentiu Tudor
2016-12-15 22:20 ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 7/9] bus: fsl-mc: dpio: add the DPAA2 DPIO service interface Stuart Yoder
2016-12-02 13:02 ` Laurentiu Tudor
2016-12-15 22:43 ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 8/9] bus: fsl-mc: dpio: add the DPAA2 DPIO object driver Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 9/9] bus: fsl-mc: dpio: add maintainer for DPIO Stuart Yoder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=584166BA.9050805@nxp.com \
--to=laurentiu.tudor@nxp.com \
--cc=agraf@suse.de \
--cc=arnd@arndb.de \
--cc=catalin.horghidan@nxp.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=ioana.ciornei@nxp.com \
--cc=leoyang.li@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=roy.pledge@nxp.com \
--cc=ruxandra.radulescu@nxp.com \
--cc=stuart.yoder@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.