20 Sep, 2013

2 commits

  • Add pitch length info of graphics/video layer, pitch is used
    to represent line length in byte, the usage depends on pix_fmt.
    If the fmt is YUV, the pitch[0] will be Y length,pitch[1]
    will be U length, pitch[2] will be V lenth.
    If the fmt is RGB, the picth[0] will be line lenth, and
    pitch[1]/pitch[2] will be 0 and not be used.

    Signed-off-by: Jing Xiang
    Signed-off-by: Jett.Zhou
    Signed-off-by: Zhou Zhu
    Reviewed-by: Daniel Drake
    Signed-off-by: Tomi Valkeinen

    Jing Xiang
     
  • We could set rb swap in two modules: DMA controler input part and
    dsi interface output part.
    DMA input part is based on pix_fmt to set rbswap, dsi output interface
    part will set rbswap based on platform dsi_rbswap configuration.

    This patch include below change and enhancement:

    1) The input format which support rbswap is based on RGB format,
    eg. RGB565 indicates the source data in memory is that Red is [15~11],
    Green is [10~5], Blue is [4:0], Red is MSB, Blue is LSB, but for the
    display dma input default setting(rbswap = 0), it only support Blue
    is [15~11], Green is [10~5], Red is [4:0], Red is LSB, Blue is MSB,
    so for this format(RGB565), display controller need to set rbswap
    = 1 and it can support the MSB/LSB correctly.
    BGR/YUV format will not set it in mmp display driver.

    2) The dsi output part of rbswap is depend on dsi_rbswap which is
    defined in specific platfrom. For output dsi interface, it has this
    feature to do rbswap again if it needs specifc byte sequence of RGB
    byte for DSI panel.
    eg. If display content is set RGB565 in memory and DMA input part set
    rbswap in driver to support Red as MSB , Blue LSB, but dsi panel only
    support Red as LSB, Blue as MSB, then it can use this feature.
    If there is no this requirement of panel, this dsi output part is not
    needed.

    Signed-off-by: Guoqing Li
    Signed-off-by: Jett.Zhou
    Signed-off-by: Zhou Zhu
    Reviewed-by: Daniel Drake
    Signed-off-by: Tomi Valkeinen

    Guoqing Li
     

22 Feb, 2013

1 commit

  • Add mmp display subsystem to support Marvell MMP display controllers.

    This subsystem contains 4 parts:
    --fb folder
    --core.c
    --hw folder
    --panel folder

    1. fb folder contains implementation of fb. fb get path and overlay
    from common interface and operates on these structures.

    2. core.c provides common interface for a hardware abstraction. Major
    parts of this interface are:

    a) Path: path is a output device connected to a panel or HDMI TV. Main
    operations of the path is set/get timing/output color. fb operates
    output device through path structure.

    b) Ovly: Ovly is a buffer shown on the path.

    Ovly describes frame buffer and its source/destination size, offset,
    input color, buffer address, z-order, and so on. Each fb device maps
    to one overlay.

    3. hw folder contains implementation of hardware operations defined by
    core.c. It registers paths for fb use.

    4. panel folder contains implementation of panels. It's connected to
    path. Panel drivers would also regiester panels and linked to path
    when probe.

    Signed-off-by: Zhou Zhu
    Signed-off-by: Lisa Du
    Cc: Guoqing Li
    Acked-by: Haojian Zhuang
    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhou Zhu