27 Jul, 2012

1 commit


25 Jul, 2012

1 commit

  • NetConsole may call NetSendUDPPacket before NetLoop is called. This
    will cause the source MAC address (NetOurEther) to be wrong. Instead
    of only changing it in NetLoop, move it to NetLoopInit so that it is
    also updated when net_init() is called (especially by nc_start()).

    Signed-off-by: Joe Hershberger
    Reported-by: Michael Walle
    Acked-by: Michael Walle

    Joe Hershberger
     

23 Jul, 2012

2 commits


22 Jul, 2012

5 commits


21 Jul, 2012

6 commits


20 Jul, 2012

13 commits


19 Jul, 2012

1 commit


18 Jul, 2012

11 commits

  • The commit 5dd95cf93dfffa1d19a1928990852aac9f55b9d9 'usb_storage:
    Fix EHCI "out of buffer pointers" with CD-ROM' introduce a bug in
    usb_storage as it wrongly assumes that every transfer can use
    4096 bytes per qt_buffer. This is wrong if the start address of
    the data is not page aligned to 4096 bytes and leads to 'EHCI
    timed out on TD' messages because of 'out of buffer pointers'
    in ehci_td_buffer function.

    The bug appears during load of a fragmented file and
    read from or write to an unaligned memory address.

    Cc: Marek Vasut
    Signed-off-by: Stefan Herbrechtsmeier

    Stefan Herbrechtsmeier
     
  • Align buffers passed to the USB code to cache line size so
    they can be DMAed safely.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • Printing message could be useful if something goes really wrong.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • Return values of submit_{control,bulk}_msg() functions
    should be checked to detect possible error.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • usb_get_descriptor passes it's buffer argument directly to
    usb_control_msg() so it has to be properly aligned/padded.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • Buffer coming from upper layers should be cacheline aligned/padded
    to perform safe cache operations. For now we don't do bounce
    buffering so getting unaligned buffer is an upper layer error.
    We can't check if the buffer is properly padded with current
    interface so just assume it is (consider changing with in the
    future). The following changes are done:

    1. Remove useless length alignment check. We get actual transfer
    length not the size of the underlying buffer so it's perfectly
    valid for it to be unaligned.
    2. Move flush_dcache_range() out of while loop or it will
    flush too much.
    3. Don't try to fix buffer address before calling invalidate:
    if it's unaligned it's an error anyway so let cache subsystem
    cry about that.
    4. Fix end buffer address to be cacheline aligned assuming upper
    layer reserved enough space. This is potentially dangerous
    operation so upper layers should be careful about that.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • The USB spec says that 32 bytes is the minimum required alignment.
    However on some platforms we have a larger minimum requirement for cache
    coherency. In those cases, use that value rather than the USB spec
    minimum. We add a cpp check to to define USB_DMA_MINALIGN and
    make use of it in ehci-hcd.c and musb_core.h. We cannot use MAX() here
    as we are not allowed to have tests inside of align(...).

    Signed-off-by: Tom Rini
    [marek.vasut]: introduce some crazy macro voodoo
    Signed-off-by: Marek Vasut
    [ilya.yanok]: moved external buffer fixes to separate patch,
    we use {ALLOC,DEFINE}_ALIGN_BUFFER macros with alignment of USB_DMA_MINALIGN
    for qh_list, qh and qtd structures to make sure they are proper aligned
    for both controller and cache operations.
    Signed-off-by: Ilya Yanok

    Tom Rini
     
  • Move or_asynclistaddr programming to ehci_submit_async()
    function to make sure queue head is properly programmed
    before every transfer. This solves the problem with changing
    qh address.

    Also remove unneeded qh_list->qh_link reprogramming at the
    end of transfer.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • This is the out-of-function-scope counterpart of
    ALLOC_CACHE_ALIGN_BUFFER.

    Signed-off-by: Marek Vasut
    Cc: Tom Rini
    [ilya.yanok]: added missing include and
    {DEFINE,ALLOC}_ALIGN_BUFFER macros allowing explicit alignment
    specification.
    Signed-off-by: Ilya Yanok

    Marek Vasut
     
  • This has never been completely sufficient and now happens too late to
    paper over the cache coherency problems with the current USB stack.

    Cc: Marek Vasut
    Signed-off-by: Tom Rini
    Signed-off-by: Ilya Yanok

    Tom Rini
     
  • * 'next' of git://git.denx.de/u-boot-video:
    ipu_common: Add ldb_clk for use in parenting the pixel clock
    ipu_common: Do not hardcode the ipu_clk frequency
    ipu_common: Rename MXC_CCM_BASE
    ipu_common: Let clk_ipu_enable/disable only run on MX51 and MX53
    ipu_common: Only apply the erratum to MX51
    video: Rename CONFIG_VIDEO_MX5
    mx6: Allow mx6 to access the IPUv3 registers
    common lcd: minor coding style changes

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk