public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3] net: ll_temac: Add LL TEMAC driver to u-boot
Date: Fri, 02 Sep 2011 10:40:34 +0200	[thread overview]
Message-ID: <4E609682.8030701@monstr.eu> (raw)
In-Reply-To: <20110902081901.AC090137213A@gemini.denx.de>

Wolfgang Denk wrote:
> Dear Michal Simek,
> 
> In message <4E607A0B.3040608@monstr.eu> you wrote:
>>>>>> +static void sdma_out_be32(struct ll_priv *priv, u32 offset, u32 val)
>>>>>> +{
>>>>>> +	if (priv->mode & DCR_BIT)
>>>>>> +		mtdcr_local(priv->ctrl + offset, val);
>>>>>> +	else
>>>>>> +		out_be32((u32 *)(priv->ctrl + offset * 4), val);
>>>>>> +}
> ...
>> On PPC system with DCR is special connection between memory controller through DCR bus. Handling is done
>> with mfdcr_local and mtdcr_local functions.
>>
>> DMA : Sdma address ranges (www.xilinx.com/support/documentation/user_guides/ug200.pdf page 261 and 299)
>> 0   : 0x80-0x90
>> 1   : 0x98-0xA8
>> 2   : 0xB0-0xC0
>> 3   : 0xC8-0xD8
>>
>> The first reg for DMA2 accessed trough DCR is at 0xB0, the second at 0xB1, etc..
> 
> This is indeed a good example, as it shows how terribly broken your
> code is.
> 
> See function sdma_out_be32() above.  It is suppose to write a 32 bit
> value ("u32 val") as a 32 bit entity in big endian mode ("_be32") to
> some device register - but the register addresses are (1) not aligned
> to 32 bit boundaries and (2) not even 32 bits apart.

I think you misunderstand what there is written.
For DCR is register address with offset + 0x1 but still you are writing there 32bit values. It is not direct access.
and it is not any unaligned access at all. But bus access it will be unaligned access but not for DCR.

DCR is defined just for PPC right now because none wanted to do it for Microblaze.

Regards,
Michal





-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian

  reply	other threads:[~2011-09-02  8:40 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-01 11:39 [U-Boot] [PATCH v3] net: ll_temac: Add LL TEMAC driver to u-boot Michal Simek
2011-09-01 11:39 ` [U-Boot] [PATCH v2] net: axi_ethernet: Add " Michal Simek
2011-09-01 13:17   ` Wolfgang Denk
2011-09-02  9:02     ` Michal Simek
2011-09-01 13:06 ` [U-Boot] [PATCH v3] net: ll_temac: Add LL TEMAC " Wolfgang Denk
2011-09-01 13:17   ` Michal Simek
2011-09-01 14:09     ` Wolfgang Denk
2011-09-02  6:39       ` Michal Simek
2011-09-02  8:19         ` Wolfgang Denk
2011-09-02  8:40           ` Michal Simek [this message]
2011-09-02  9:24             ` Wolfgang Denk
2011-09-02 10:38               ` Michal Simek
2011-09-02 12:53                 ` Wolfgang Denk
2011-09-02 13:29                   ` Michal Simek
2011-09-02 14:08                     ` Wolfgang Denk
2011-09-05  7:15                       ` Michal Simek
2011-09-05  8:00                         ` Wolfgang Denk

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=4E609682.8030701@monstr.eu \
    --to=monstr@monstr.eu \
    --cc=u-boot@lists.denx.de \
    /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