[U-Boot] [PATCH v7 9/9] net: macb: Fix check for little-endian system in gmac_configure_dma()
rfried.dev at gmail.com
Mon Jun 24 13:27:56 UTC 2019
On 6/24/19 4:12 PM, Bin Meng wrote:
> Hi Ramon,
> On Mon, Jun 24, 2019 at 8:51 PM Ramon Fried <rfried.dev at gmail.com> wrote:
>> On 6/24/19 3:32 PM, Bin Meng wrote:
>>> Hi Ramon,
>>> On Mon, Jun 24, 2019 at 8:22 PM Ramon Fried <rfried.dev at gmail.com> wrote:
>>>> On 6/24/19 8:03 AM, Bin Meng wrote:
>>>> On Mon, Jun 24, 2019 at 12:03 PM Anup Patel <Anup.Patel at wdc.com> wrote:
>>>> We should depend on __LITTLE_ENDIAN pre-defined compiler macro for
>>>> little-endian system instead of U-Boot specific CONFIG_SYS_LITTLE_ENDIAN
>>>> Signed-off-by: Anup Patel <anup.patel at wdc.com>
>>>> drivers/net/macb.c | 7 ++++---
>>>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>>> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
>>>> I don't like this approach, each platform should configure it's
>>>> endianess, this is stated in README in root folder.
>>>> relying on a specific GCC preprocessor extension is limiting us only to use GCC.
>>>> The RISCV issue with MACB can be easily resolved by defining the
>>>> CONFIG_SYS_LITTLE_ENDIAN config.
>>> OK, but a system wide CONFIG_SYS_LITTLE_ENDIAN may bring side effects
>>> to other drivers, as not all devices are using the same endianness
>>> even in the same system. Maybe we can do something by parsing some
>>> property in device tree?
>> Hey Bin
>> I grep'ed for all instances of CONFIG_SYS_LITTLE_ENDIAN and I don't see any place
>> where something might brake. can you elaborate ?
> I mean this system wide CONFIG_SYS_LITTLE_ENDIAN is easy to break
> since it cannot represent all devices, although I did not check all
> instances currently in U-Boot. Maybe it's OK for now for the SiFive
> board. But this option is not better than the pure compiler flag
> either. So I was proposing using some properties in DT. Does that
Not all devices work using DT in macb, so it won't work for them. :(
More information about the U-Boot