devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chen-Yu Tsai <wens@csie.org>
To: Liviu Dudau <liviu@dudau.co.uk>
Cc: "Mark Rutland" <mark.rutland@arm.com>,
	"Ondřej Jirman" <megous@megous.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Stanimir Varbanov" <stanimir.varbanov@linaro.org>,
	linux-sunxi <linux-sunxi@googlegroups.com>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Benjamin Gaignard" <benjamin.gaignard@linaro.org>,
	"kbuild test robot" <lkp@intel.com>,
	"Rick Chang" <rick.chang@mediatek.com>,
	"Hans Verkuil" <hans.verkuil@cisco.com>,
	"Dave Martin" <dave.martin@arm.com>,
	"Linux Media Mailing List" <linux-media@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Rob Herring" <robh+dt@kernel.org>, Yong <yong.deng@magewell.com>,
	"Hugues Fruchet" <hugues.fruchet@st.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundatio>
Subject: Re: [linux-sunxi] Re: [PATCH v6 2/2] media: V3s: Add support for Allwinner CSI.
Date: Wed, 31 Jan 2018 11:24:56 +0800	[thread overview]
Message-ID: <CAGb2v65T559qcBRnx-e-qbDRkp6TqKvV1JD+pd2r0oGdDYVwUg@mail.gmail.com> (raw)
In-Reply-To: <20180131030807.GA19945@bart.dudau.co.uk>

On Wed, Jan 31, 2018 at 11:08 AM, Liviu Dudau <liviu@dudau.co.uk> wrote:
> On Fri, Jan 26, 2018 at 11:00:41AM +0800, Yong wrote:
>> Hi Maxime,
>>
>> On Fri, 26 Jan 2018 09:46:58 +0800
>> Yong <yong.deng@magewell.com> wrote:
>>
>> > Hi Maxime,
>> >
>> > Do you have any experience in solving this problem?
>> > It seems the PHYS_OFFSET maybe undeclared when the ARCH is not arm.
>>
>> Got it.
>> Should I add 'depends on ARM' in Kconfig?
>
> No, I don't think you should do that, you should fix the code.
>
> The dma_addr_t addr that you've got is ideally coming from dma_alloc_coherent(),
> in which case the addr is already "suitable" for use by the device (because the
> bus where the device is attached to does all the address translations). If you
> apply PHYS_OFFSET forcefully to it you might get unexpected results.

As explained in the thread, the dma_addr_t address is based on the kernel
and processor's viewpoint, which has DRAM at an offset. This particular
peripheral (and some others, such as display and video decoder) on Allwinner
platforms do DMA on the separate memory bus directly, which does _not_
have that memory offset. This is specific to our hardware. And also mentioned
is that there is no sensible representation in the device tree that would
allow the DMA API to do proper address translation.

Just throwing it out there, maybe we could do a dummy IOMMU that does the
simple translation of (addr - PHYS_OFFSET)? Still I'm not sure if the device
tree representation would be sane.

ChenYu

>>
>> >
>> > On Fri, 26 Jan 2018 08:04:18 +0800
>> > kbuild test robot <lkp@intel.com> wrote:
>> >
>> > > Hi Yong,
>> > >
>> > > I love your patch! Yet something to improve:
>> > >
>> > > [auto build test ERROR on linuxtv-media/master]
>> > > [also build test ERROR on v4.15-rc9 next-20180119]
>> > > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>> > >
>> > > url:    https://github.com/0day-ci/linux/commits/Yong-Deng/dt-bindings-media-Add-Allwinner-V3s-Camera-Sensor-Interface-CSI/20180126-054511
>> > > base:   git://linuxtv.org/media_tree.git master
>> > > config: i386-allmodconfig (attached as .config)
>> > > compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
>> > > reproduce:
>> > >         # save the attached .config to linux build tree
>> > >         make ARCH=i386
>> > >
>> > > All errors (new ones prefixed by >>):
>> > >
>> > >    drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c: In function 'sun6i_csi_update_buf_addr':
>> > > >> drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c:567:31: error: 'PHYS_OFFSET' undeclared (first use in this function); did you mean 'PAGE_OFFSET'?
>> > >      dma_addr_t bus_addr = addr - PHYS_OFFSET;
>> > >                                   ^~~~~~~~~~~
>> > >                                   PAGE_OFFSET
>> > >    drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c:567:31: note: each undeclared identifier is reported only once for each function it appears in
>> > >
>> > > vim +567 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
>> > >
>> > >    562
>> > >    563    void sun6i_csi_update_buf_addr(struct sun6i_csi *csi, dma_addr_t addr)
>> > >    564    {
>> > >    565            struct sun6i_csi_dev *sdev = sun6i_csi_to_dev(csi);
>> > >    566            /* transform physical address to bus address */
>> > >  > 567            dma_addr_t bus_addr = addr - PHYS_OFFSET;
>> > >    568
>> > >    569            regmap_write(sdev->regmap, CSI_CH_F0_BUFA_REG,
>> > >    570                         (bus_addr + sdev->planar_offset[0]) >> 2);
>> > >    571            if (sdev->planar_offset[1] != -1)
>> > >    572                    regmap_write(sdev->regmap, CSI_CH_F1_BUFA_REG,
>> > >    573                                 (bus_addr + sdev->planar_offset[1]) >> 2);
>> > >    574            if (sdev->planar_offset[2] != -1)
>> > >    575                    regmap_write(sdev->regmap, CSI_CH_F2_BUFA_REG,
>> > >    576                                 (bus_addr + sdev->planar_offset[2]) >> 2);
>> > >    577    }
>> > >    578
>> > >
>> > > ---
>> > > 0-DAY kernel test infrastructure                Open Source Technology Center
>> > > https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>> >
>> >
>> > Thanks,
>> > Yong
>>
>>
>> Thanks,
>> Yong
>>
>> --
>> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.

  reply	other threads:[~2018-01-31  3:24 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-23  8:18 [PATCH v6 2/2] media: V3s: Add support for Allwinner CSI Yong Deng
2018-01-26  0:04 ` kbuild test robot
     [not found]   ` <201801260759.RyNhDZz4%fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-26  1:46     ` Yong
2018-01-26  3:00       ` Yong
2018-01-26  8:10         ` Maxime Ripard
     [not found]           ` <20180126081000.hy7g57zp5dv6ug2g-ZC1Zs529Oq4@public.gmane.org>
2018-01-28  2:19             ` [linux-sunxi] " Yong
     [not found]               ` <20180128101903.fbaec083c787bda30aeb05ef-+3dxTMOEIRNWk0Htik3J/w@public.gmane.org>
2018-01-29  8:16                 ` Maxime Ripard
     [not found]         ` <20180126110041.f89848325b9ecfb07df387ca-+3dxTMOEIRNWk0Htik3J/w@public.gmane.org>
2018-01-31  3:08           ` Liviu Dudau
2018-01-31  3:24             ` Chen-Yu Tsai [this message]
     [not found]             ` <20180131030807.GA19945-hOhETlTuV5niMG9XS5x8Mg@public.gmane.org>
2018-01-31  7:42               ` Maxime Ripard
     [not found]                 ` <20180131074212.7hvb3nqkt22h2chg-ZC1Zs529Oq4@public.gmane.org>
2018-01-31 14:47                   ` Liviu Dudau
2018-02-01  8:32                     ` [linux-sunxi] " Maxime Ripard
2018-02-01  9:20                       ` Arnd Bergmann
     [not found]                         ` <CAK8P3a01DqmVJKt6J2i_okVoeELJCUW0voW0r52EzBY7iF74xQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-01 11:34                           ` Liviu Dudau
     [not found]                             ` <20180201113442.GC19945-hOhETlTuV5niMG9XS5x8Mg@public.gmane.org>
2018-02-01 15:54                               ` Maxime Ripard
2018-01-27 15:51 ` kbuild test robot
     [not found] ` <1516695531-23349-1-git-send-email-yong.deng-+3dxTMOEIRNWk0Htik3J/w@public.gmane.org>
2018-01-27 16:14   ` Linus Walleij
     [not found]     ` <CACRpkdan52UB7HOyH1gnHWg4CDke_VQxAdq8cBgwUroibE59Ow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-28  2:39       ` Yong
2018-01-29  8:25     ` Maxime Ripard
2018-01-29  8:28       ` [linux-sunxi] " icenowy
     [not found]       ` <20180129082533.6edmqgbauo6q5dgz-ZC1Zs529Oq4@public.gmane.org>
2018-01-29  9:25         ` Linus Walleij
     [not found]           ` <CACRpkdYAGwUjr2C-w5U+WuG48pZAOUcnxFjznLbdF6Lmy1uZuQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-29 14:34             ` Arnd Bergmann
2018-01-30  7:54               ` Maxime Ripard
     [not found]                 ` <20180130075441.rqxzkwero6sdfak6-ZC1Zs529Oq4@public.gmane.org>
2018-01-30  9:24                   ` Arnd Bergmann
2018-01-30  9:59                     ` Thierry Reding
2018-01-30 10:01                       ` Thierry Reding
2018-01-31  7:29                         ` Maxime Ripard
     [not found]                           ` <20180131072910.ajp3jc5dmetsjtf2-ZC1Zs529Oq4@public.gmane.org>
2018-01-31  9:37                             ` Arnd Bergmann
     [not found]                               ` <CAK8P3a0X2bpLjKE6xKehG1junZoG1N_DjepOBQ+SZetKf6sgfA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-01 15:29                                 ` Maxime Ripard
2018-02-01 15:36                                   ` Arnd Bergmann
2018-02-01 16:31                                 ` Robin Murphy

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=CAGb2v65T559qcBRnx-e-qbDRkp6TqKvV1JD+pd2r0oGdDYVwUg@mail.gmail.com \
    --to=wens@csie.org \
    --cc=arnd@arndb.de \
    --cc=benjamin.gaignard@linaro.org \
    --cc=dave.martin@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundatio \
    --cc=hans.verkuil@cisco.com \
    --cc=hugues.fruchet@st.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=liviu@dudau.co.uk \
    --cc=lkp@intel.com \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=megous@megous.com \
    --cc=p.zabel@pengutronix.de \
    --cc=rick.chang@mediatek.com \
    --cc=robh+dt@kernel.org \
    --cc=stanimir.varbanov@linaro.org \
    --cc=thierry.reding@gmail.com \
    --cc=yong.deng@magewell.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).