lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 15 Dec 2016 17:12:47 +0000
From:   Stuart Yoder <stuart.yoder@....com>
To:     Laurentiu Tudor <laurentiu.tudor@....com>,
        "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>
CC:     "devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "agraf@...e.de" <agraf@...e.de>, "arnd@...db.de" <arnd@...db.de>,
        Leo Li <leoyang.li@....com>,
        Ioana Ciornei <ioana.ciornei@....com>,
        "Catalin Horghidan" <catalin.horghidan@....com>,
        Ruxandra Ioana Radulescu <ruxandra.radulescu@....com>,
        Roy Pledge <roy.pledge@....com>
Subject: RE: [PATCH v3 5/9] bus: fsl-mc: dpio: add global dpaa2 definitions



> -----Original Message-----
> From: Laurentiu Tudor
> Sent: Friday, December 02, 2016 6:19 AM
> To: Stuart Yoder <stuart.yoder@....com>; gregkh@...uxfoundation.org
> Cc: devel@...verdev.osuosl.org; linux-kernel@...r.kernel.org; agraf@...e.de; arnd@...db.de; Leo Li
> <leoyang.li@....com>; Ioana Ciornei <ioana.ciornei@....com>; Catalin Horghidan
> <catalin.horghidan@....com>; Ruxandra Ioana Radulescu <ruxandra.radulescu@....com>; Roy Pledge
> <roy.pledge@....com>
> Subject: Re: [PATCH v3 5/9] bus: fsl-mc: dpio: add global dpaa2 definitions
> 
> On 12/02/2016 12:41 AM, Stuart Yoder wrote:
> > From: Roy Pledge <Roy.Pledge@....com>
> >
> > Create header for global dpaa2 definitions.  Add definitions
> > for dequeue results.
> >
> > Signed-off-by: Roy Pledge <Roy.Pledge@....com>
> > Signed-off-by: Stuart Yoder <stuart.yoder@....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/

Agree with your suggestions, will update.

Stuart

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ