From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1241404464796859967==" MIME-Version: 1.0 From: Valentin Korenblit To: kbuild-all@lists.01.org Subject: Re: [mtd:nand/next 11/31] drivers/mtd/nand/raw/cadence-nand-controller.c:1893:4: error: implicit declaration of function 'ioread64_rep' is invalid in C99 Date: Tue, 27 Sep 2022 16:56:58 +0200 Message-ID: In-Reply-To: <01210adb-ff77-4ec5-8d10-ab56ae986d58@www.fastmail.com> List-Id: --===============1241404464796859967== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Arnd, Miquel On 9/22/22 12:52, Arnd Bergmann wrote: > On Thu, Sep 22, 2022, at 11:36 AM, Miquel Raynal wrote: >> vkorenblit(a)sequans.com wrote on Thu, 22 Sep 2022 10:18:46 +0200: >>> Correct, this was my initial idea. However, this driver should work >>> with every architecture or do we limit the scope to arm/arm64/x86_64? >> The driver should work on ARM and aarch64, I'm not aware of other >> architectures with this IP. >> >> The driver should compile when COMPILE_TEST=3Dy. > It should also be written in a way that makes it plausible to > use elsewhere. Since this is just a licensed IP core, there is > a good chance that someone reused it on mips or riscv, or > anything else. > >>>>> I believe what Valentin wanted to achieve in the first place, was to >>>>> use 64-bit accesses when relevant (otherwise it does not work). >>>> The width is read from a device specific register at >>>> runtime, it is not related to the architecture you are >>>> running on, presumably this is hardwired during the >>>> design of an SoC, based on the capabilities of the DMA >>>> engine: >> Well, yes, but in the mean time 64-bit DMA width will never be >> used on 32-bit platforms. > Why? Most architectures (including x86 and arm) allow you to > run a 32-bit kernel on a 64-bit SoC. While this is almost always > a bad idea to actually do, a driver should be written to > work correctly in this setup. > >>>> This usually means the largest access that is valid for >>>> reading from the FIFO, but usually smaller accesses work >>>> as well, just slower. >> Mmh, ok, that's interesting, thanks for the pointer. >> >> But in the mean time I am only half satisfied, because we plan to do >> twice more accesses than needed _just_ because of a the COMPILE_TEST >> constraint. > In my example, I had an #ifdef so it would only fall back > to 32-bit accesses on the 64-bit register when running an > actual 32-bit kernel, but leaving the 64-bit case efficient. Sorry for my late reply. I've just tested this and unfortunately the two sequential 32-bit accesses (with OFF0=3D=3D0 and OFF1=3D=3D4 seem to trigger sdma_err. I need to check some waveforms to verify if it happens right after the first access. > Arnd Best regards, Valentin -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may als= o be privileged. If you are not the intended recipient, please notify the s= ender immediately and do not disclose the contents to any other person, use= it for any purpose, or store or copy the information in any medium. Thank you. --===============1241404464796859967== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.htm" PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRl bnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+ PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5IaSBBcm5kLCBNaXF1ZWw8L2ZvbnQ+PGJyPgogICAgPC9w PgogICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5PbiA5LzIyLzIyIDEyOjUyLCBBcm5k IEJlcmdtYW5uIHdyb3RlOjxicj4KICAgIDwvZGl2PgogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0 ZSIKICAgICAgY2l0ZT0ibWlkOjAxMjEwYWRiLWZmNzctNGVjNS04ZDEwLWFiNTZhZTk4NmQ1OEB3 d3cuZmFzdG1haWwuY29tIj4KICAgICAgPHByZSBjbGFzcz0ibW96LXF1b3RlLXByZSIgd3JhcD0i Ij5PbiBUaHUsIFNlcCAyMiwgMjAyMiwgYXQgMTE6MzYgQU0sIE1pcXVlbCBSYXluYWwgd3JvdGU6 CjwvcHJlPgogICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAgICA8cHJlIGNsYXNz PSJtb3otcXVvdGUtcHJlIiB3cmFwPSIiPjxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0 ZWQiIGhyZWY9Im1haWx0bzp2a29yZW5ibGl0QHNlcXVhbnMuY29tIj52a29yZW5ibGl0QHNlcXVh bnMuY29tPC9hPiB3cm90ZSBvbiBUaHUsIDIyIFNlcCAyMDIyIDEwOjE4OjQ2ICswMjAwOgo8L3By ZT4KICAgICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAgICAgIDxwcmUgY2xhc3M9 Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+CkNvcnJlY3QsIHRoaXMgd2FzIG15IGluaXRpYWwgaWRl YS4gSG93ZXZlciwgdGhpcyBkcml2ZXIgc2hvdWxkIHdvcmsKd2l0aCBldmVyeSBhcmNoaXRlY3R1 cmUgb3IgZG8gd2UgbGltaXQgdGhlIHNjb3BlIHRvIGFybS9hcm02NC94ODZfNjQ/CjwvcHJlPgog ICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8cHJlIGNsYXNzPSJtb3otcXVvdGUtcHJlIiB3 cmFwPSIiPgpUaGUgZHJpdmVyIHNob3VsZCB3b3JrIG9uIEFSTSBhbmQgYWFyY2g2NCwgSSdtIG5v dCBhd2FyZSBvZiBvdGhlcgphcmNoaXRlY3R1cmVzIHdpdGggdGhpcyBJUC4KClRoZSBkcml2ZXIg c2hvdWxkIGNvbXBpbGUgd2hlbiBDT01QSUxFX1RFU1Q9eS4KPC9wcmU+CiAgICAgIDwvYmxvY2tx dW90ZT4KICAgICAgPHByZSBjbGFzcz0ibW96LXF1b3RlLXByZSIgd3JhcD0iIj4KSXQgc2hvdWxk IGFsc28gYmUgd3JpdHRlbiBpbiBhIHdheSB0aGF0IG1ha2VzIGl0IHBsYXVzaWJsZSB0bwp1c2Ug ZWxzZXdoZXJlLiBTaW5jZSB0aGlzIGlzIGp1c3QgYSBsaWNlbnNlZCBJUCBjb3JlLCB0aGVyZSBp cwphIGdvb2QgY2hhbmNlIHRoYXQgc29tZW9uZSByZXVzZWQgaXQgb24gbWlwcyBvciByaXNjdiwg b3IKYW55dGhpbmcgZWxzZS4KCjwvcHJlPgogICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4K ICAgICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAgICAgIDxibG9ja3F1b3RlIHR5 cGU9ImNpdGUiPgogICAgICAgICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAgICAg ICAgICA8cHJlIGNsYXNzPSJtb3otcXVvdGUtcHJlIiB3cmFwPSIiPkkgYmVsaWV2ZSB3aGF0IFZh bGVudGluIHdhbnRlZCB0byBhY2hpZXZlIGluIHRoZSBmaXJzdCBwbGFjZSwgd2FzIHRvCnVzZSA2 NC1iaXQgYWNjZXNzZXMgd2hlbiByZWxldmFudCAob3RoZXJ3aXNlIGl0IGRvZXMgbm90IHdvcmsp LiAgCjwvcHJlPgogICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgIDxwcmUgY2xh c3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+VGhlIHdpZHRoIGlzIHJlYWQgZnJvbSBhIGRldmlj ZSBzcGVjaWZpYyByZWdpc3RlciBhdApydW50aW1lLCBpdCBpcyBub3QgcmVsYXRlZCB0byB0aGUg YXJjaGl0ZWN0dXJlIHlvdSBhcmUKcnVubmluZyBvbiwgcHJlc3VtYWJseSB0aGlzIGlzIGhhcmR3 aXJlZCBkdXJpbmcgdGhlCmRlc2lnbiBvZiBhbiBTb0MsIGJhc2VkIG9uIHRoZSBjYXBhYmlsaXRp ZXMgb2YgdGhlIERNQQplbmdpbmU6CjwvcHJlPgogICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAg ICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8cHJlIGNsYXNzPSJtb3otcXVvdGUtcHJlIiB3cmFw PSIiPgpXZWxsLCB5ZXMsIGJ1dCBpbiB0aGUgbWVhbiB0aW1lIDY0LWJpdCBETUEgd2lkdGggd2ls bCBuZXZlciBiZQp1c2VkIG9uIDMyLWJpdCBwbGF0Zm9ybXMuCjwvcHJlPgogICAgICA8L2Jsb2Nr cXVvdGU+CiAgICAgIDxwcmUgY2xhc3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+CldoeT8gTW9z dCBhcmNoaXRlY3R1cmVzIChpbmNsdWRpbmcgeDg2IGFuZCBhcm0pIGFsbG93IHlvdSB0bwpydW4g YSAzMi1iaXQga2VybmVsIG9uIGEgNjQtYml0IFNvQy4gV2hpbGUgdGhpcyBpcyBhbG1vc3QgYWx3 YXlzCmEgYmFkIGlkZWEgdG8gYWN0dWFsbHkgZG8sIGEgZHJpdmVyIHNob3VsZCBiZSB3cml0dGVu IHRvCndvcmsgY29ycmVjdGx5IGluIHRoaXMgc2V0dXAuCgo8L3ByZT4KICAgICAgPGJsb2NrcXVv dGUgdHlwZT0iY2l0ZSI+CiAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICAgICAg ICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAgICAgICAgPHByZSBjbGFzcz0ibW96LXF1 b3RlLXByZSIgd3JhcD0iIj5UaGlzIHVzdWFsbHkgbWVhbnMgdGhlIGxhcmdlc3QgYWNjZXNzIHRo YXQgaXMgdmFsaWQgZm9yCnJlYWRpbmcgZnJvbSB0aGUgRklGTywgYnV0IHVzdWFsbHkgc21hbGxl ciBhY2Nlc3NlcyB3b3JrCmFzIHdlbGwsIGp1c3Qgc2xvd2VyLiAgCjwvcHJlPgogICAgICAgICAg PC9ibG9ja3F1b3RlPgogICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8cHJlIGNsYXNzPSJt b3otcXVvdGUtcHJlIiB3cmFwPSIiPgpNbWgsIG9rLCB0aGF0J3MgaW50ZXJlc3RpbmcsIHRoYW5r cyBmb3IgdGhlIHBvaW50ZXIuCgpCdXQgaW4gdGhlIG1lYW4gdGltZSBJIGFtIG9ubHkgaGFsZiBz YXRpc2ZpZWQsIGJlY2F1c2Ugd2UgcGxhbiB0byBkbwp0d2ljZSBtb3JlIGFjY2Vzc2VzIHRoYW4g bmVlZGVkIF9qdXN0XyBiZWNhdXNlIG9mIGEgdGhlIENPTVBJTEVfVEVTVApjb25zdHJhaW50Lgo8 L3ByZT4KICAgICAgPC9ibG9ja3F1b3RlPgogICAgICA8cHJlIGNsYXNzPSJtb3otcXVvdGUtcHJl IiB3cmFwPSIiPgpJbiBteSBleGFtcGxlLCBJIGhhZCBhbiAjaWZkZWYgc28gaXQgd291bGQgb25s eSBmYWxsIGJhY2sKdG8gMzItYml0IGFjY2Vzc2VzIG9uIHRoZSA2NC1iaXQgcmVnaXN0ZXIgd2hl biBydW5uaW5nIGFuCmFjdHVhbCAzMi1iaXQga2VybmVsLCBidXQgbGVhdmluZyB0aGUgNjQtYml0 IGNhc2UgZWZmaWNpZW50LjwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAgPHByZT5Tb3JyeSBm b3IgbXkgbGF0ZSByZXBseS4gSSd2ZSBqdXN0IHRlc3RlZCB0aGlzIGFuZCB1bmZvcnR1bmF0ZWx5 CnRoZSB0d28gc2VxdWVudGlhbCAzMi1iaXQgYWNjZXNzZXMgKHdpdGggT0ZGMD09MCBhbmQgT0ZG MT09NCBzZWVtCnRvIHRyaWdnZXIgc2RtYV9lcnIuIEkgbmVlZCB0byBjaGVjayBzb21lIHdhdmVm b3JtcyB0byB2ZXJpZnkgaWYgaXQgCmhhcHBlbnMgcmlnaHQgYWZ0ZXIgdGhlIGZpcnN0IGFjY2Vz cy4gCjwvcHJlPgogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIKICAgICAgY2l0ZT0ibWlkOjAx MjEwYWRiLWZmNzctNGVjNS04ZDEwLWFiNTZhZTk4NmQ1OEB3d3cuZmFzdG1haWwuY29tIj4KICAg ICAgPHByZSBjbGFzcz0ibW96LXF1b3RlLXByZSIgd3JhcD0iIj4gICAgQXJuZDwvcHJlPgogICAg PC9ibG9ja3F1b3RlPgogICAgPHByZT5CZXN0IHJlZ2FyZHMsCgpWYWxlbnRpbgo8L3ByZT4KICA8 dGFibGUgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTsgbWFyZ2luLWJvdHRvbTox MHB4OyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogbGVmdCI+DQo8dGJvZHk+PHRyPjx0ZD48c3Ry b25nPi0tIElNUE9SVEFOVCBOT1RJQ0U6PC9zdHJvbmc+PC90ZD48L3RyPg0KPHRyPjx0ZD48YnI+ PC90ZD48L3RyPg0KPHRyPjx0ZD5UaGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0 dGFjaG1lbnRzIGFyZSBjb25maWRlbnRpYWwgYW5kIA0KbWF5IGFsc28gYmUgcHJpdmlsZWdlZC4g SWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIA0Kbm90aWZ5IHRo ZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUgY29udGVudHMgdG8g YW55IA0Kb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlLCBvciBzdG9yZSBvciBj b3B5IHRoZSBpbmZvcm1hdGlvbiANCmluIGFueSBtZWRpdW0uPC90ZD48L3RyPg0KPHRyPjx0ZD48 YnI+PC90ZD48L3RyPg0KPHRyPjx0ZD5UaGFuayB5b3UuPC90ZD48L3RyPg0KPC90Ym9keT4NCjwv dGFibGU+PC9ib2R5Pgo8L2h0bWw+Cg== --===============1241404464796859967==--