[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190701125619.GC4399@kunai>
Date: Mon, 1 Jul 2019 14:56:19 +0200
From: Wolfram Sang <wsa@...-dreams.de>
To: Eduardo Valentin <eduval@...zon.com>
Cc: Haiyue Wang <haiyue.wang@...ux.intel.com>,
jarkko.nikula@...ux.intel.com, andriy.shevchenko@...el.com,
brendanhiggins@...gle.com, Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>, linux-i2c@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCHv7 2/3] i2c: slave-mqueue: add a slave backend to receive
and queue messages
Hi Eduardo,
thanks for stepping up and pushing this further!
On Wed, Jun 05, 2019 at 09:46:50AM -0700, Eduardo Valentin wrote:
> From: Haiyue Wang <haiyue.wang@...ux.intel.com>
>
> Some protocols over I2C are designed for bi-directional transferring
> messages by using I2C Master Write protocol. Like the MCTP (Management
> Component Transport Protocol) and IPMB (Intelligent Platform Management
> Bus), they both require that the userspace can receive messages from
> I2C dirvers under slave mode.
>
> This new slave mqueue backend is used to receive and queue messages, it
> will exposes these messages to userspace by sysfs bin file.
So, this is a read-only bin file. Sending is done via the standard
i2c-dev driver? Or not needed at all?
Regarding, IPMB, how does this related to the recently merged IPMB slave
driver?
http://patchwork.ozlabs.org/patch/1113278/
>
> Note: DT interface and a couple of minor fixes here and there
> by Eduardo, so I kept the original authorship here.
>
> Cc: Rob Herring <robh+dt@...nel.org>
> Cc: Mark Rutland <mark.rutland@....com>
> Cc: Wolfram Sang <wsa@...-dreams.de>
> Cc: Andy Shevchenko <andriy.shevchenko@...el.com>
> Cc: linux-i2c@...r.kernel.org
> Cc: devicetree@...r.kernel.org
> Cc: linux-kernel@...r.kernel.org
> Signed-off-by: Haiyue Wang <haiyue.wang@...ux.intel.com>
> Signed-off-by: Eduardo Valentin <eduval@...zon.com>
> +I2C SLAVE MQUEUE DRIVER
> +M: Eduardo Valentin <eduval@...zon.com>
Cool, thanks!
> +config I2C_SLAVE_MQUEUE_MESSAGE_SIZE
> + int "The message size of I2C mqueue slave"
> + depends on I2C_SLAVE_MQUEUE
> + default 120
> +
> +config I2C_SLAVE_MQUEUE_QUEUE_SIZE
> + int "The queue size of I2C mqueue slave"
> + depends on I2C_SLAVE_MQUEUE
> + default 32
> + help
> + This number MUST be power of 2.
I am not happy with this being a Kconfig option. Best would be a
per-instance configuration, so we could have differently sized mqueues
at runtime. I could think of another sysfs-file like
"mqueue-slave-config" which would appear after writing to 'new_device'.
And only after writing to 'mqueue-slave-config', the bin file to read
from would show up. But it is just a quick brainstorming, maybe you have
a better idea?
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2017 - 2018, Intel Corporation.
A short description what this driver does would be nice.
Rest looks decent from a glimpse. I haven't looked into the gory details
yet, though, because I want to get the high level things straight first.
Kind regards,
Wolfram
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists