[v2,0/5] Add Toshiba Visconti DNN image processing accelerator driver

Message ID 20220722082858.17880-1-yuji2.ishikawa@toshiba.co.jp (mailing list archive)
Headers
Series Add Toshiba Visconti DNN image processing accelerator driver |

Message

Yuji Ishikawa July 22, 2022, 8:28 a.m. UTC
  This series is the DNN image processing accelerator driver for Toshiba's ARM SoC, Visconti[0].
This provides DT binding documentation, device driver, MAINTAINER files and documents.

Best regards,
Yuji

[0]: https://toshiba.semicon-storage.com/ap-en/semiconductor/product/image-recognition-processors-visconti.html

dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing accelerator bindings
  v1 -> v2:
    - No update

soc: visconti: Add Toshiba Visconti image processing accelerator common source
  v1 -> v2:
    - checked with checkpatch.pl --strict

soc: visconti: Add Toshiba Visconti DNN image processing accelerator
  v1 -> v2:
    - checked with checkpatch.pl --strict
    - removed unused code

MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
  v1 -> v2:
    - No update

Documentation: driver-api: visconti: add a description of DNN driver.
  v1 -> v2:
    - newly added documents

Yuji Ishikawa (5):
  dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing
    accelerator bindings
  soc: visconti: Add Toshiba Visconti image processing accelerator
    common source
  soc: visconti: Add Toshiba Visconti DNN image processing accelerator
  MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
    accelerator
  Documentation: driver-api: visconti: add a description of DNN driver.

 .../soc/visconti/toshiba,visconti-dnn.yaml    |  54 ++
 Documentation/driver-api/visconti/common.rst  | 115 ++++
 Documentation/driver-api/visconti/dnn.rst     | 394 +++++++++++++
 MAINTAINERS                                   |   2 +
 drivers/soc/Kconfig                           |   1 +
 drivers/soc/Makefile                          |   1 +
 drivers/soc/visconti/Kconfig                  |   7 +
 drivers/soc/visconti/Makefile                 |   8 +
 drivers/soc/visconti/dnn/Makefile             |   6 +
 drivers/soc/visconti/dnn/dnn.c                | 523 ++++++++++++++++++
 drivers/soc/visconti/dnn/hwd_dnn.c            | 183 ++++++
 drivers/soc/visconti/dnn/hwd_dnn.h            |  68 +++
 drivers/soc/visconti/dnn/hwd_dnn_reg.h        | 228 ++++++++
 drivers/soc/visconti/ipa_common.c             |  55 ++
 drivers/soc/visconti/ipa_common.h             |  18 +
 drivers/soc/visconti/uapi/dnn.h               |  77 +++
 drivers/soc/visconti/uapi/ipa.h               |  90 +++
 17 files changed, 1830 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/visconti/toshiba,visconti-dnn.yaml
 create mode 100644 Documentation/driver-api/visconti/common.rst
 create mode 100644 Documentation/driver-api/visconti/dnn.rst
 create mode 100644 drivers/soc/visconti/Kconfig
 create mode 100644 drivers/soc/visconti/Makefile
 create mode 100644 drivers/soc/visconti/dnn/Makefile
 create mode 100644 drivers/soc/visconti/dnn/dnn.c
 create mode 100644 drivers/soc/visconti/dnn/hwd_dnn.c
 create mode 100644 drivers/soc/visconti/dnn/hwd_dnn.h
 create mode 100644 drivers/soc/visconti/dnn/hwd_dnn_reg.h
 create mode 100644 drivers/soc/visconti/ipa_common.c
 create mode 100644 drivers/soc/visconti/ipa_common.h
 create mode 100644 drivers/soc/visconti/uapi/dnn.h
 create mode 100644 drivers/soc/visconti/uapi/ipa.h
  

Comments

Greg KH July 25, 2022, 12:46 p.m. UTC | #1
On Fri, Jul 22, 2022 at 05:28:53PM +0900, Yuji Ishikawa wrote:
> This series is the DNN image processing accelerator driver for Toshiba's ARM SoC, Visconti[0].
> This provides DT binding documentation, device driver, MAINTAINER files and documents.
> 
> Best regards,
> Yuji
> 
> [0]: https://toshiba.semicon-storage.com/ap-en/semiconductor/product/image-recognition-processors-visconti.html
> 
> dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing accelerator bindings
>   v1 -> v2:
>     - No update
> 
> soc: visconti: Add Toshiba Visconti image processing accelerator common source
>   v1 -> v2:
>     - checked with checkpatch.pl --strict
> 
> soc: visconti: Add Toshiba Visconti DNN image processing accelerator
>   v1 -> v2:
>     - checked with checkpatch.pl --strict
>     - removed unused code
> 
> MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
>   v1 -> v2:
>     - No update
> 
> Documentation: driver-api: visconti: add a description of DNN driver.
>   v1 -> v2:
>     - newly added documents
> 
> Yuji Ishikawa (5):
>   dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing
>     accelerator bindings
>   soc: visconti: Add Toshiba Visconti image processing accelerator
>     common source
>   soc: visconti: Add Toshiba Visconti DNN image processing accelerator
>   MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
>     accelerator
>   Documentation: driver-api: visconti: add a description of DNN driver.
> 
>  .../soc/visconti/toshiba,visconti-dnn.yaml    |  54 ++
>  Documentation/driver-api/visconti/common.rst  | 115 ++++
>  Documentation/driver-api/visconti/dnn.rst     | 394 +++++++++++++
>  MAINTAINERS                                   |   2 +
>  drivers/soc/Kconfig                           |   1 +
>  drivers/soc/Makefile                          |   1 +
>  drivers/soc/visconti/Kconfig                  |   7 +
>  drivers/soc/visconti/Makefile                 |   8 +
>  drivers/soc/visconti/dnn/Makefile             |   6 +
>  drivers/soc/visconti/dnn/dnn.c                | 523 ++++++++++++++++++
>  drivers/soc/visconti/dnn/hwd_dnn.c            | 183 ++++++
>  drivers/soc/visconti/dnn/hwd_dnn.h            |  68 +++
>  drivers/soc/visconti/dnn/hwd_dnn_reg.h        | 228 ++++++++
>  drivers/soc/visconti/ipa_common.c             |  55 ++
>  drivers/soc/visconti/ipa_common.h             |  18 +
>  drivers/soc/visconti/uapi/dnn.h               |  77 +++
>  drivers/soc/visconti/uapi/ipa.h               |  90 +++

Why is this in drivers/soc/?

And uapi files belong in the correct include path, not burried in a
driver subdirectory where they will never be picked up correctly by the
build system.  How did you test these?

thanks,

greg k-h
  
Yuji Ishikawa July 26, 2022, 6:09 a.m. UTC | #2
Hi Greg

Thank you for your comments.

> -----Original Message-----
> From: Greg KH <gregkh@linuxfoundation.org>
> Sent: Monday, July 25, 2022 9:47 PM
> To: ishikawa yuji(石川 悠司 ○RDC□AITC○EA開)
> <yuji2.ishikawa@toshiba.co.jp>
> Cc: Rob Herring <robh+dt@kernel.org>; Hans Verkuil <hverkuil@xs4all.nl>;
> iwamatsu nobuhiro(岩松 信洋 □SWC◯ACT)
> <nobuhiro1.iwamatsu@toshiba.co.jp>; Jonathan Corbet <corbet@lwn.net>;
> Sumit Semwal <sumit.semwal@linaro.org>; Christian König
> <christian.koenig@amd.com>; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; linux-media@vger.kernel.org;
> dri-devel@lists.freedesktop.org; linaro-mm-sig@lists.linaro.org
> Subject: Re: [PATCH v2 0/5] Add Toshiba Visconti DNN image processing
> accelerator driver
> 
> On Fri, Jul 22, 2022 at 05:28:53PM +0900, Yuji Ishikawa wrote:
> > This series is the DNN image processing accelerator driver for Toshiba's ARM
> SoC, Visconti[0].
> > This provides DT binding documentation, device driver, MAINTAINER files
> and documents.
> >
> > Best regards,
> > Yuji
> >
> > [0]:
> >
> https://toshiba.semicon-storage.com/ap-en/semiconductor/product/image-
> > recognition-processors-visconti.html
> >
> > dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing
> accelerator bindings
> >   v1 -> v2:
> >     - No update
> >
> > soc: visconti: Add Toshiba Visconti image processing accelerator common
> source
> >   v1 -> v2:
> >     - checked with checkpatch.pl --strict
> >
> > soc: visconti: Add Toshiba Visconti DNN image processing accelerator
> >   v1 -> v2:
> >     - checked with checkpatch.pl --strict
> >     - removed unused code
> >
> > MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
> >   v1 -> v2:
> >     - No update
> >
> > Documentation: driver-api: visconti: add a description of DNN driver.
> >   v1 -> v2:
> >     - newly added documents
> >
> > Yuji Ishikawa (5):
> >   dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing
> >     accelerator bindings
> >   soc: visconti: Add Toshiba Visconti image processing accelerator
> >     common source
> >   soc: visconti: Add Toshiba Visconti DNN image processing accelerator
> >   MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
> >     accelerator
> >   Documentation: driver-api: visconti: add a description of DNN driver.
> >
> >  .../soc/visconti/toshiba,visconti-dnn.yaml    |  54 ++
> >  Documentation/driver-api/visconti/common.rst  | 115 ++++
> >  Documentation/driver-api/visconti/dnn.rst     | 394 +++++++++++++
> >  MAINTAINERS                                   |   2 +
> >  drivers/soc/Kconfig                           |   1 +
> >  drivers/soc/Makefile                          |   1 +
> >  drivers/soc/visconti/Kconfig                  |   7 +
> >  drivers/soc/visconti/Makefile                 |   8 +
> >  drivers/soc/visconti/dnn/Makefile             |   6 +
> >  drivers/soc/visconti/dnn/dnn.c                | 523
> ++++++++++++++++++
> >  drivers/soc/visconti/dnn/hwd_dnn.c            | 183 ++++++
> >  drivers/soc/visconti/dnn/hwd_dnn.h            |  68 +++
> >  drivers/soc/visconti/dnn/hwd_dnn_reg.h        | 228 ++++++++
> >  drivers/soc/visconti/ipa_common.c             |  55 ++
> >  drivers/soc/visconti/ipa_common.h             |  18 +
> >  drivers/soc/visconti/uapi/dnn.h               |  77 +++
> >  drivers/soc/visconti/uapi/ipa.h               |  90 +++
> 
> Why is this in drivers/soc/?

Actually, I'm not sure where his module should live in.
The directory drivers/soc were chosen just because the driver is specific to Visconti SoC.
Is it better to move the driver to another directory such as drivers/misc ?

> And uapi files belong in the correct include path, not burried in a driver
> subdirectory where they will never be picked up correctly by the build system.
> How did you test these?

I understand it's not a good idea to place uapi files under driver subdirectory.
A build command "make headers_install" did not pick out headers.
I used additional shell script to install headers for Visconti.
I'll move uapi headers to include/uapi/linux.

> thanks,
> 
> greg k-h

Regards,
  Yuji
  
Greg KH July 28, 2022, 8:47 a.m. UTC | #3
On Tue, Jul 26, 2022 at 06:09:50AM +0000, yuji2.ishikawa@toshiba.co.jp wrote:
> Hi Greg
> 
> Thank you for your comments.
> 
> > -----Original Message-----
> > From: Greg KH <gregkh@linuxfoundation.org>
> > Sent: Monday, July 25, 2022 9:47 PM
> > To: ishikawa yuji(石川 悠司 ○RDC□AITC○EA開)
> > <yuji2.ishikawa@toshiba.co.jp>
> > Cc: Rob Herring <robh+dt@kernel.org>; Hans Verkuil <hverkuil@xs4all.nl>;
> > iwamatsu nobuhiro(岩松 信洋 □SWC◯ACT)
> > <nobuhiro1.iwamatsu@toshiba.co.jp>; Jonathan Corbet <corbet@lwn.net>;
> > Sumit Semwal <sumit.semwal@linaro.org>; Christian König
> > <christian.koenig@amd.com>; linux-arm-kernel@lists.infradead.org;
> > linux-kernel@vger.kernel.org; linux-media@vger.kernel.org;
> > dri-devel@lists.freedesktop.org; linaro-mm-sig@lists.linaro.org
> > Subject: Re: [PATCH v2 0/5] Add Toshiba Visconti DNN image processing
> > accelerator driver
> > 
> > On Fri, Jul 22, 2022 at 05:28:53PM +0900, Yuji Ishikawa wrote:
> > > This series is the DNN image processing accelerator driver for Toshiba's ARM
> > SoC, Visconti[0].
> > > This provides DT binding documentation, device driver, MAINTAINER files
> > and documents.
> > >
> > > Best regards,
> > > Yuji
> > >
> > > [0]:
> > >
> > https://toshiba.semicon-storage.com/ap-en/semiconductor/product/image-
> > > recognition-processors-visconti.html
> > >
> > > dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing
> > accelerator bindings
> > >   v1 -> v2:
> > >     - No update
> > >
> > > soc: visconti: Add Toshiba Visconti image processing accelerator common
> > source
> > >   v1 -> v2:
> > >     - checked with checkpatch.pl --strict
> > >
> > > soc: visconti: Add Toshiba Visconti DNN image processing accelerator
> > >   v1 -> v2:
> > >     - checked with checkpatch.pl --strict
> > >     - removed unused code
> > >
> > > MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
> > >   v1 -> v2:
> > >     - No update
> > >
> > > Documentation: driver-api: visconti: add a description of DNN driver.
> > >   v1 -> v2:
> > >     - newly added documents
> > >
> > > Yuji Ishikawa (5):
> > >   dt-bindings: soc: visconti: Add Toshiba Visconti DNN image processing
> > >     accelerator bindings
> > >   soc: visconti: Add Toshiba Visconti image processing accelerator
> > >     common source
> > >   soc: visconti: Add Toshiba Visconti DNN image processing accelerator
> > >   MAINTAINERS: Add entries for Toshiba Visconti DNN image processing
> > >     accelerator
> > >   Documentation: driver-api: visconti: add a description of DNN driver.
> > >
> > >  .../soc/visconti/toshiba,visconti-dnn.yaml    |  54 ++
> > >  Documentation/driver-api/visconti/common.rst  | 115 ++++
> > >  Documentation/driver-api/visconti/dnn.rst     | 394 +++++++++++++
> > >  MAINTAINERS                                   |   2 +
> > >  drivers/soc/Kconfig                           |   1 +
> > >  drivers/soc/Makefile                          |   1 +
> > >  drivers/soc/visconti/Kconfig                  |   7 +
> > >  drivers/soc/visconti/Makefile                 |   8 +
> > >  drivers/soc/visconti/dnn/Makefile             |   6 +
> > >  drivers/soc/visconti/dnn/dnn.c                | 523
> > ++++++++++++++++++
> > >  drivers/soc/visconti/dnn/hwd_dnn.c            | 183 ++++++
> > >  drivers/soc/visconti/dnn/hwd_dnn.h            |  68 +++
> > >  drivers/soc/visconti/dnn/hwd_dnn_reg.h        | 228 ++++++++
> > >  drivers/soc/visconti/ipa_common.c             |  55 ++
> > >  drivers/soc/visconti/ipa_common.h             |  18 +
> > >  drivers/soc/visconti/uapi/dnn.h               |  77 +++
> > >  drivers/soc/visconti/uapi/ipa.h               |  90 +++
> > 
> > Why is this in drivers/soc/?
> 
> Actually, I'm not sure where his module should live in.
> The directory drivers/soc were chosen just because the driver is specific to Visconti SoC.
> Is it better to move the driver to another directory such as drivers/misc ?

Yes please start out in drivers/misc/ unless we find a better place for
it.

thanks,

greg k-h