24 Nov, 2015

1 commit


03 Nov, 2015

1 commit


09 Sep, 2015

1 commit

  • Pull libnvdimm updates from Dan Williams:
    "This update has successfully completed a 0day-kbuild run and has
    appeared in a linux-next release. The changes outside of the typical
    drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the
    removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and
    the introduction of ZONE_DEVICE + devm_memremap_pages().

    Summary:

    - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
    mechanism for adding device-driver-discovered memory regions to the
    kernel's direct map.

    This facility is used by the pmem driver to enable pfn_to_page()
    operations on the page frames returned by DAX ('direct_access' in
    'struct block_device_operations').

    For now, the 'memmap' allocation for these "device" pages comes
    from "System RAM". Support for allocating the memmap from device
    memory will arrive in a later kernel.

    - Introduce memremap() to replace usages of ioremap_cache() and
    ioremap_wt(). memremap() drops the __iomem annotation for these
    mappings to memory that do not have i/o side effects. The
    replacement of ioremap_cache() with memremap() is limited to the
    pmem driver to ease merging the api change in v4.3.

    Completion of the conversion is targeted for v4.4.

    - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
    driver, update the VFS DAX implementation and PMEM api to provide
    persistence guarantees for kernel operations on a DAX mapping.

    - Convert the ACPI NFIT 'BLK' driver to map the block apertures as
    cacheable to improve performance.

    - Miscellaneous updates and fixes to libnvdimm including support for
    issuing "address range scrub" commands, clarifying the optimal
    'sector size' of pmem devices, a clarification of the usage of the
    ACPI '_STA' (status) property for DIMM devices, and other minor
    fixes"

    * tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits)
    libnvdimm, pmem: direct map legacy pmem by default
    libnvdimm, pmem: 'struct page' for pmem
    libnvdimm, pfn: 'struct page' provider infrastructure
    x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB
    add devm_memremap_pages
    mm: ZONE_DEVICE for "device memory"
    mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h
    dax: drop size parameter to ->direct_access()
    nd_blk: change aperture mapping from WC to WB
    nvdimm: change to use generic kvfree()
    pmem, dax: have direct_access use __pmem annotation
    dax: update I/O path to do proper PMEM flushing
    pmem: add copy_from_iter_pmem() and clear_pmem()
    pmem, x86: clean up conditional pmem includes
    pmem: remove layer when calling arch_has_wmb_pmem()
    pmem, x86: move x86 PMEM API to new pmem.h header
    libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option
    pmem: switch to devm_ allocations
    devres: add devm_memremap
    libnvdimm, btt: write and validate parent_uuid
    ...

    Linus Torvalds
     

05 Sep, 2015

1 commit

  • Pull drm updates from Dave Airlie:
    "This is the main pull request for the drm for 4.3. Nouveau is
    probably the biggest amount of changes in here, since it missed 4.2.
    Highlights below, along with the usual bunch of fixes.

    All stuff outside drm should have applicable acks.

    Highlights:

    - new drivers:
    freescale dcu kms driver

    - core:
    more atomic fixes
    disable some dri1 interfaces on kms drivers
    drop fb panic handling, this was just getting more broken, as more locking was required.
    new core fbdev Kconfig support - instead of each driver enable/disabling it
    struct_mutex cleanups

    - panel:
    more new panels
    cleanup Kconfig

    - i915:
    Skylake support enabled by default
    legacy modesetting using atomic infrastructure
    Skylake fixes
    GEN9 workarounds

    - amdgpu:
    Fiji support
    CGS support for amdgpu
    Initial GPU scheduler - off by default
    Lots of bug fixes and optimisations.

    - radeon:
    DP fixes
    misc fixes

    - amdkfd:
    Add Carrizo support for amdkfd using amdgpu.

    - nouveau:
    long pending cleanup to complete driver,
    fully bisectable which makes it larger,
    perfmon work
    more reclocking improvements
    maxwell displayport fixes

    - vmwgfx:
    new DX device support, supports OpenGL 3.3
    screen targets support

    - mgag200:
    G200eW support
    G200e new revision support

    - msm:
    dragonboard 410c support, msm8x94 support, msm8x74v1 support
    yuv format support
    dma plane support
    mdp5 rotation
    initial hdcp

    - sti:
    atomic support

    - exynos:
    lots of cleanups
    atomic modesetting/pageflipping support
    render node support

    - tegra:
    tegra210 support (dc, dsi, dp/hdmi)
    dpms with atomic modesetting support

    - atmel:
    support for 3 more atmel SoCs
    new input formats, PRIME support.

    - dwhdmi:
    preparing to add audio support

    - rockchip:
    yuv plane support"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1369 commits)
    drm/amdgpu: rename gmc_v8_0_init_compute_vmid
    drm/amdgpu: fix vce3 instance handling
    drm/amdgpu: remove ib test for the second VCE Ring
    drm/amdgpu: properly enable VM fault interrupts
    drm/amdgpu: fix warning in scheduler
    drm/amdgpu: fix buffer placement under memory pressure
    drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic
    drm/amdgpu: fix typo in dce11 watermark setup
    drm/amdgpu: fix typo in dce10 watermark setup
    drm/amdgpu: use top down allocation for non-CPU accessible vram
    drm/amdgpu: be explicit about cpu vram access for driver BOs (v2)
    drm/amdgpu: set MEC doorbell range for Fiji
    drm/amdgpu: implement burst NOP for SDMA
    drm/amdgpu: add insert_nop ring func and default implementation
    drm/amdgpu: add amdgpu_get_sdma_instance helper function
    drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES
    drm/amdgpu: add burst_nop flag for sdma
    drm/amdgpu: add count field for the SDMA NOP packet v2
    drm/amdgpu: use PT for VM sync on unmap
    drm/amdgpu: make wait_event uninterruptible in push_job
    ...

    Linus Torvalds
     

30 Aug, 2015

1 commit


25 Aug, 2015

1 commit

  • Convert the driver from using the x86-specific MTRR code to the
    architecture-agnostic arch_phys_wc_add(). It will avoid MTRR if
    write-combining is available, in order to take advantage of that
    also ensure the ioremapped area is requested as write-combining.

    There are a few motivations for this:

    a) Take advantage of PAT when available

    b) Help bury MTRR code away, MTRR is architecture-specific and on
    x86 it is being replaced by PAT.

    c) Help with the goal of eventually using _PAGE_CACHE_UC over
    _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
    de33c442e titled "x86 PAT: fix performance drop for glx,
    use UC minus for ioremap(), ioremap_nocache() and
    pci_mmap_page_range()")

    The conversion done is expressed by the following Coccinelle
    SmPL patch, it additionally required manual intervention to
    address all the ifdeffery and removal of redundant things which
    arch_phys_wc_add() already addresses such as verbose message
    about when MTRR fails and doing nothing when we didn't get an
    MTRR.

    @ mtrr_found @
    expression index, base, size;
    @@

    -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
    +index = arch_phys_wc_add(base, size);

    @ mtrr_rm depends on mtrr_found @
    expression mtrr_found.index, mtrr_found.base, mtrr_found.size;
    @@

    -mtrr_del(index, base, size);
    +arch_phys_wc_del(index);

    @ mtrr_rm_zero_arg depends on mtrr_found @
    expression mtrr_found.index;
    @@

    -mtrr_del(index, 0, 0);
    +arch_phys_wc_del(index);

    @ mtrr_rm_fb_info depends on mtrr_found @
    struct fb_info *info;
    expression mtrr_found.index;
    @@

    -mtrr_del(index, info->fix.smem_start, info->fix.smem_len);
    +arch_phys_wc_del(index);

    @ ioremap_replace_nocache depends on mtrr_found @
    struct fb_info *info;
    expression base, size;
    @@

    -info->screen_base = ioremap_nocache(base, size);
    +info->screen_base = ioremap_wc(base, size);

    @ ioremap_replace_default depends on mtrr_found @
    struct fb_info *info;
    expression base, size;
    @@

    -info->screen_base = ioremap(base, size);
    +info->screen_base = ioremap_wc(base, size);

    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: Borislav Petkov
    Acked-by: Tomi Valkeinen
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Antonino Daplas
    Cc: Arnd Bergmann
    Cc: Daniel Vetter
    Cc: Dave Airlie
    Cc: Geert Uytterhoeven
    Cc: H. Peter Anvin
    Cc: Jean-Christophe Plagniol-Villard
    Cc: Jingoo Han
    Cc: Juergen Gross
    Cc: Laurent Pinchart
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Suresh Siddha
    Cc: Thomas Gleixner
    Cc: airlied@linux.ie
    Cc: benh@kernel.crashing.org
    Cc: bhelgaas@google.com
    Cc: dan.j.williams@intel.com
    Cc: konrad.wilk@oracle.com
    Cc: linux-fbdev@vger.kernel.org
    Cc: linux-pci@vger.kernel.org
    Cc: mst@redhat.com
    Cc: toshi.kani@hp.com
    Cc: vinod.koul@intel.com
    Cc: xen-devel@lists.xensource.com
    Link: http://lkml.kernel.org/r/1440443613-13696-4-git-send-email-mcgrof@do-not-panic.com
    Signed-off-by: Ingo Molnar

    Luis R. Rodriguez
     

11 Aug, 2015

1 commit


27 Jun, 2015

1 commit

  • Pull drm updates from Dave Airlie:
    "This is the main drm pull request for v4.2.

    I've one other new driver from freescale on my radar, it's been posted
    and reviewed, I'd just like to get someone to give it a last look, so
    maybe I'll send it or maybe I'll leave it.

    There is no major nouveau changes in here, Ben was working on
    something big, and we agreed it was a bit late, there wasn't anything
    else he considered urgent to merge.

    There might be another msm pull for some bits that are waiting on
    arm-soc, I'll see how we time it.

    This touches some "of" stuff, acks are in place except for the fixes
    to the build in various configs,t hat I just applied.

    Summary:

    New drivers:
    - virtio-gpu:
    KMS only pieces of driver for virtio-gpu in qemu.
    This is just the first part of this driver, enough to run
    unaccelerated userspace on. As qemu merges more we'll start
    adding the 3D features for the virgl 3d work.
    - amdgpu:
    a new driver from AMD to driver their newer GPUs. (VI+)
    It contains a new cleaner userspace API, and is a clean
    break from radeon moving forward, that AMD are going to
    concentrate on. It also contains a set of register headers
    auto generated from AMD internal database.

    core:
    - atomic modesetting API completed, enabled by default now.
    - Add support for mode_id blob to atomic ioctl to complete interface.
    - bunch of Displayport MST fixes
    - lots of misc fixes.

    panel:
    - new simple panels
    - fix some long-standing build issues with bridge drivers

    radeon:
    - VCE1 support
    - add a GPU reset counter for userspace
    - lots of fixes.

    amdkfd:
    - H/W debugger support module
    - static user-mode queues
    - support killing all the waves when a process terminates
    - use standard DECLARE_BITMAP

    i915:
    - Add Broxton support
    - S3, rotation support for Skylake
    - RPS booting tuning
    - CPT modeset sequence fixes
    - ns2501 dither support
    - enable cmd parser on haswell
    - cdclk handling fixes
    - gen8 dynamic pte allocation
    - lots of atomic conversion work

    exynos:
    - Add atomic modesetting support
    - Add iommu support
    - Consolidate drm driver initialization
    - and MIC, DECON and MIPI-DSI support for exynos5433

    omapdrm:
    - atomic modesetting support (fixes lots of things in rewrite)

    tegra:
    - DP aux transaction fixes
    - iommu support fix

    msm:
    - adreno a306 support
    - various dsi bits
    - various 64-bit fixes
    - NV12MT support

    rcar-du:
    - atomic and misc fixes

    sti:
    - fix HDMI timing complaince

    tilcdc:
    - use drm component API to access tda998x driver
    - fix module unloading

    qxl:
    - stability fixes"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (872 commits)
    drm/nouveau: Pause between setting gpu to D3hot and cutting the power
    drm/dp/mst: close deadlock in connector destruction.
    drm: Always enable atomic API
    drm/vgem: Set unique to "vgem"
    of: fix a build error to of_graph_get_endpoint_by_regs function
    drm/dp/mst: take lock around looking up the branch device on hpd irq
    drm/dp/mst: make sure mst_primary mstb is valid in work function
    of: add EXPORT_SYMBOL for of_graph_get_endpoint_by_regs
    ARM: dts: rename the clock of MIPI DSI 'pll_clk' to 'sclk_mipi'
    drm/atomic: Don't set crtc_state->enable manually
    drm/exynos: dsi: do not set TE GPIO direction by input
    drm/exynos: dsi: add support for MIC driver as a bridge
    drm/exynos: dsi: add support for Exynos5433
    drm/exynos: dsi: make use of array for clock access
    drm/exynos: dsi: make use of driver data for static values
    drm/exynos: dsi: add macros for register access
    drm/exynos: dsi: rename pll_clk to sclk_clk
    drm/exynos: mic: add MIC driver
    of: add helper for getting endpoint node of specific identifiers
    drm/exynos: add Exynos5433 decon driver
    ...

    Linus Torvalds
     

22 Jun, 2015

1 commit


03 Jun, 2015

2 commits

  • This driver uses the same area for MTRR as for the ioremap().
    Convert the driver from using the x86 specific MTRR code to
    the architecture agnostic arch_phys_wc_add(). arch_phys_wc_add()
    will avoid MTRR if write-combining is available, in order to
    take advantage of that also ensure the ioremap'd area is requested
    as write-combining.

    There are a few motivations for this:

    a) Take advantage of PAT when available

    b) Help bury MTRR code away, MTRR is architecture specific and on
    x86 its replaced by PAT

    c) Help with the goal of eventually using _PAGE_CACHE_UC over
    _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
    de33c442e titled "x86 PAT: fix performance drop for glx,
    use UC minus for ioremap(), ioremap_nocache() and
    pci_mmap_page_range()")

    The conversion done is expressed by the following Coccinelle
    SmPL patch, it additionally required manual intervention to
    address all the #ifdery and removal of redundant things which
    arch_phys_wc_add() already addresses such as verbose message
    about when MTRR fails and doing nothing when we didn't get
    an MTRR.

    @ mtrr_found @
    expression index, base, size;
    @@

    -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
    +index = arch_phys_wc_add(base, size);

    @ mtrr_rm depends on mtrr_found @
    expression mtrr_found.index, mtrr_found.base, mtrr_found.size;
    @@

    -mtrr_del(index, base, size);
    +arch_phys_wc_del(index);

    @ mtrr_rm_zero_arg depends on mtrr_found @
    expression mtrr_found.index;
    @@

    -mtrr_del(index, 0, 0);
    +arch_phys_wc_del(index);

    @ mtrr_rm_fb_info depends on mtrr_found @
    struct fb_info *info;
    expression mtrr_found.index;
    @@

    -mtrr_del(index, info->fix.smem_start, info->fix.smem_len);
    +arch_phys_wc_del(index);

    @ ioremap_replace_nocache depends on mtrr_found @
    struct fb_info *info;
    expression base, size;
    @@

    -info->screen_base = ioremap_nocache(base, size);
    +info->screen_base = ioremap_wc(base, size);

    @ ioremap_replace_default depends on mtrr_found @
    struct fb_info *info;
    expression base, size;
    @@

    -info->screen_base = ioremap(base, size);
    +info->screen_base = ioremap_wc(base, size);

    Generated-by: Coccinelle SmPL
    Cc: Rob Clark
    Cc: Geert Uytterhoeven
    Cc: Suresh Siddha
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Juergen Gross
    Cc: Daniel Vetter
    Cc: Andy Lutomirski
    Cc: Dave Airlie
    Cc: Antonino Daplas
    Cc: Jean-Christophe Plagniol-Villard
    Cc: Tomi Valkeinen
    Cc: linux-fbdev@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Luis R. Rodriguez
    Reviewed-by: Dave Airlie
    Signed-off-by: Tomi Valkeinen

    Luis R. Rodriguez
     
  • Convert the driver from using the x86 specific MTRR code to
    the architecture agnostic arch_phys_wc_add(). arch_phys_wc_add()
    will avoid MTRR if write-combining is available, in order to
    take advantage of that also ensure the ioremap'd area is requested
    as write-combining.

    There are a few motivations for this:

    a) Take advantage of PAT when available

    b) Help bury MTRR code away, MTRR is architecture specific and on
    x86 its replaced by PAT

    c) Help with the goal of eventually using _PAGE_CACHE_UC over
    _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
    de33c442e titled "x86 PAT: fix performance drop for glx,
    use UC minus for ioremap(), ioremap_nocache() and
    pci_mmap_page_range()")

    The conversion done is expressed by the following Coccinelle
    SmPL patch, it additionally required manual intervention to
    address all the #ifdery and removal of redundant things which
    arch_phys_wc_add() already addresses such as verbose message
    about when MTRR fails and doing nothing when we didn't get
    an MTRR.

    @ mtrr_found @
    expression index, base, size;
    @@

    -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
    +index = arch_phys_wc_add(base, size);

    @ mtrr_rm depends on mtrr_found @
    expression mtrr_found.index, mtrr_found.base, mtrr_found.size;
    @@

    -mtrr_del(index, base, size);
    +arch_phys_wc_del(index);

    @ mtrr_rm_zero_arg depends on mtrr_found @
    expression mtrr_found.index;
    @@

    -mtrr_del(index, 0, 0);
    +arch_phys_wc_del(index);

    @ mtrr_rm_fb_info depends on mtrr_found @
    struct fb_info *info;
    expression mtrr_found.index;
    @@

    -mtrr_del(index, info->fix.smem_start, info->fix.smem_len);
    +arch_phys_wc_del(index);

    @ ioremap_replace_nocache depends on mtrr_found @
    struct fb_info *info;
    expression base, size;
    @@

    -info->screen_base = ioremap_nocache(base, size);
    +info->screen_base = ioremap_wc(base, size);

    @ ioremap_replace_default depends on mtrr_found @
    struct fb_info *info;
    expression base, size;
    @@

    -info->screen_base = ioremap(base, size);
    +info->screen_base = ioremap_wc(base, size);

    Generated-by: Coccinelle SmPL
    Cc: Jean-Christophe Plagniol-Villard
    Cc: Tomi Valkeinen
    Cc: Laurent Pinchart
    Cc: Jingoo Han
    Cc: Suresh Siddha
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Juergen Gross
    Cc: Daniel Vetter
    Cc: Andy Lutomirski
    Cc: Dave Airlie
    Cc: Antonino Daplas
    Cc: linux-fbdev@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Luis R. Rodriguez
    Reviewed-by: Dave Airlie
    Signed-off-by: Tomi Valkeinen

    Luis R. Rodriguez
     

21 Apr, 2015

1 commit

  • Pull fbdev updates from Tomi Valkeinen:
    "Small fixes and improvements to various fbdev drivers"

    * tag 'fbdev-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (24 commits)
    omapdss: extend pm notifier to handle hibernation
    OMAPDSS: Correct video ports description file path in DT binding doc
    OMAPDSS: disable VT switch
    fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex
    video: fbdev: sh_mobile_lcdcfb: Fix ROP3 sysfs attribute parsing
    fbdev: pm3fb: cleanup some confusing indenting
    hyperv: hyperv_fb: match wait_for_completion_timeout return type
    video: fbdev: use msecs_to_jiffies for time conversions
    fbdev: via/via_clock: fix sparse warning
    video: fbdev: make of_device_id array const
    fbdev: sm501fb: use memset_io
    OMAPDSS: workaround for MFLAG + NV12 issue
    OMAPDSS: Add support for MFLAG
    OMAPDSS: setup default fifo thresholds
    OMAPDSS: DISPC: lock access to DISPC_CONTROL & DISPC_CONFIG
    OMAPDSS: DISPC: fix div by zero issue in overlay scaling
    OMAPDSS: DISPC: change sync_pclk_edge default value
    OMAPDSS: change signal_level & signal_edge enum values
    OMAPDSS: DISPC: explicit handling for sync and de levels
    OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES
    ...

    Linus Torvalds
     

13 Apr, 2015

3 commits

  • imx-drm changes to use media bus formats and LDB drm_panel support

    - Add media bus formats needed by imx-drm
    - Switch to use media bus formats to describe the pixel format
    on the internal parallel bus between display interface and
    encoders
    - Some preparations for TV Output via TVEv2 on i.MX5
    - Add drm_panel support to the i.MX LVDS driver, allow to
    determine the bus pixel format from the panel descriptor.

    * tag 'imx-drm-next-2015-03-31' of git://git.pengutronix.de/git/pza/linux:
    drm/imx: imx-ldb: allow to determine bus format from the connected panel
    drm/imx: imx-ldb: reset display clock input when disabling LVDS
    drm/imx: imx-ldb: add drm_panel support
    drm/imx: consolidate bus format variable names
    drm/imx: switch to use media bus formats
    Add RGB666_1X24_CPADHI media bus format
    Add YUV8_1X24 media bus format
    Add BGR888_1X24 and GBR888_1X24 media bus formats
    Add LVDS RGB media bus formats
    Add RGB444_1X12 and RGB565_1X16 media bus formats
    drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2
    drm/imx: Add support for interlaced scanout

    Dave Airlie
     
  • After adding display power domain for Exynos5250 in commit
    2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250") the
    display on Chromebook Snow and others stopped working after boot.

    The reason for this suggested Andrzej Hajda: the DP clock was disabled.
    This clock is required by Display Port and is enabled by bootloader.
    However when FIMD driver probing was deferred, the display power domain
    was turned off. This effectively reset the value of DP clock enable
    register.

    When exynos-dp is later probed, the clock is not enabled and display is
    not properly configured:

    exynos-dp 145b0000.dp-controller: Timeout of video streamclk ok
    exynos-dp 145b0000.dp-controller: unable to config video

    Fixes: 2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250")
    Cc:

    Signed-off-by: Krzysztof Kozlowski
    Reported-by: Javier Martinez Canillas
    Tested-by: Javier Martinez Canillas
    Tested-by: Andreas Färber
    Signed-off-by: Inki Dae

    Krzysztof Kozlowski
     
  • XR24 planes were not shown properly, so now set the right registers
    to correctly enable displaying these planes.

    It also moves the alpha register settings to fimd_win_set_pixfmt()
    to keep all pixel format stuff together.

    v2: remove leftover var alpha

    Signed-off-by: Gustavo Padovan
    Signed-off-by: Inki Dae

    Gustavo Padovan
     

31 Mar, 2015

1 commit

  • This patch consolidates the different interface_pix_fmt, pixel_fmt, pix_fmt,
    and pixfmt variables to a common name "bus_format" wherever they describe the
    pixel format on the bus between display controller and encoder hardware.
    At the same time, it renames imx_drm_panel_format to imx_drm_set_bus_format.

    Signed-off-by: Philipp Zabel
    Tested-by: Emil Renner Berthing

    Philipp Zabel
     

26 Feb, 2015

3 commits

  • At the moment the enum values for ACTIVE_HIGH and RISING_EDGE are 0, and
    ACTIVE_LOW and FALLING_EDGE are 1, to match the values programmed to HW.
    The previous patch removed this dependency.

    Swap the enum values the other way around. This doesn't change the
    behavior in any way, but makes it easier to debug as value of '1' means
    HIGH or RISING.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • DISPC can drive data lines either on rising or falling pixel clock edge,
    which can be configured by the user.

    Sync lines can also be driven on rising or falling pixel clock edge, but
    additionally the HW can be configured to drive the sync lines on
    opposite clock edge from the data lines.

    This opposite edge setting does not make any sense, as the same effect
    can be achieved by just setting the sync lines to be driven on the other
    edge compared to the data lines. It feels like some kind of backward
    compatibility option, even if all DSS versions seem to have the same
    implementation.

    To simplify the code and configuration of the signals, and to make the
    dispc timings more compatible with what is used on other platforms,
    let's just remove the whole opposite-edge support.

    The drivers that used OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES setting are
    changed so that they use the opposite setting from the data edge.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • omapdss's sysfs directories for displays used to have 'name' file,
    giving the name for the display. This file was later renamed to
    'display_name' to avoid conflicts with i2c sysfs 'name' file. Looks like
    at least xserver-xorg-video-omap3 requires the 'name' file to be
    present.

    To fix the regression, this patch creates new kobjects for each display,
    allowing us to create sysfs directories for the displays. This way we
    have the whole directory for omapdss, and there will be no sysfs file
    clashes with the underlying display device's sysfs files.

    We can thus add the 'name' sysfs file back.

    Signed-off-by: Tomi Valkeinen
    Tested-by: NeilBrown

    Tomi Valkeinen
     

17 Feb, 2015

1 commit

  • Pull drm updates from Dave Airlie:
    "This is the main drm pull, it has a shared branch with some alsa
    crossover but everything should be acked by relevant people.

    New drivers:
    - ATMEL HLCDC driver
    - designware HDMI core support (used in multiple SoCs).

    core:
    - lots more atomic modesetting work, properties and atomic ioctl
    (hidden under option)
    - bridge rework allows support for Samsung exynos chromebooks to
    work finally.
    - some more panels supported

    i915:
    - atomic plane update support
    - DSI uses shared DSI infrastructure
    - Skylake basic support is all merged now
    - component framework used for i915/snd-hda interactions
    - write-combine cpu memory mappings
    - engine init code refactored
    - full ppgtt enabled where execlists are enabled.
    - cherryview rps/gpu turbo and pipe CRC support.

    radeon:
    - indirect draw support for evergreen/cayman
    - SMC and manual fan control for SI/CI
    - Displayport audio support

    amdkfd:
    - SDMA usermode queue support
    - replace suballocator usage with more suitable one
    - rework for allowing interfacing to more than radeon

    nouveau:
    - major renaming in prep for later splitting work
    - merge arm platform driver into nouveau
    - GK20A reclocking support

    msm:
    - conversion to atomic modesetting
    - YUV support for mdp4/5
    - eDP support
    - hw cursor for mdp5

    tegra:
    - conversion to atomic modesetting
    - better suspend/resume support for child devices

    rcar-du:
    - interlaced support

    imx:
    - move to using dw_hdmi shared support
    - mode_fixup support

    sti:
    - DVO support
    - HDMI infoframe support

    exynos:
    - refactoring and cleanup, removed lots of internal unnecessary
    abstraction
    - exynos7 DECON display controller support

    Along with the usual bunch of fixes, cleanups etc"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (724 commits)
    drm/radeon: fix voltage setup on hawaii
    drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary
    drm/radeon: only enable kv/kb dpm interrupts once v3
    drm/radeon: workaround for CP HW bug on CIK
    drm/radeon: Don't try to enable write-combining without PAT
    drm/radeon: use 0-255 rather than 0-100 for pwm fan range
    drm/i915: Clamp efficient frequency to valid range
    drm/i915: Really ignore long HPD pulses on eDP
    drm/exynos: Add DECON driver
    drm/i915: Correct the base value while updating LP_OUTPUT_HOLD in MIPI_PORT_CTRL
    drm/i915: Insert a command barrier on BLT/BSD cache flushes
    drm/i915: Drop vblank wait from intel_dp_link_down
    drm/exynos: fix NULL pointer reference
    drm/exynos: remove exynos_plane_dpms
    drm/exynos: remove mode property of exynos crtc
    drm/exynos: Remove exynos_plane_dpms() call with no effect
    drm/i915: Squelch overzealous uncore reset WARN_ON
    drm/i915: Take runtime pm reference on hangcheck_info
    drm/i915: Correct the IOSF Dev_FN field for IOSF transfers
    drm/exynos: fix DMA_ATTR_NO_KERNEL_MAPPING usage
    ...

    Linus Torvalds
     

11 Feb, 2015

1 commit

  • This patch is based on exynos-drm-next branch of Inki Dae's tree at:
    git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git

    DECON(Display and Enhancement Controller) is the new IP
    in exynos7 SOC for generating video signals using pixel data.

    DECON driver can be used to drive 2 different interfaces on Exynos7:
    DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)

    The existing FIMD driver code was used as a template to create
    DECON driver. Only DECON-INT is supported as of now, and
    DECON-EXT support will be added later.

    The current version of the driver supports video mode displays.

    Changelog v2:
    - Change config name, DRM_EXYNOS_DECON to DRM_EXYNOS7_DECON.

    Signed-off-by: Akshu Agrawal
    Signed-off-by: Ajay Kumar
    Signed-off-by: Inki Dae

    Ajay Kumar
     

04 Feb, 2015

1 commit


08 Jan, 2015

2 commits

  • This patch changes struct ipu_di_signal_cfg to use struct videomode
    to define video timings and flags.

    Signed-off-by: Steve Longerbeam
    Signed-off-by: Philipp Zabel

    Steve Longerbeam
     
  • On some monitors, high resolution modes are not working, exhibiting
    pixel column truncation problems (for example, 1280x1024 displays as
    1280x1022).

    The function ipu_di_adjust_videomode() aims to fix these issues by
    adjusting a passed videomode to IPU restrictions. The function can
    be called from the drm_crtc_helper_funcs->mode_fixup() methods.

    Signed-off-by: Jiada Wang
    Signed-off-by: Deepak Das
    Signed-off-by: Steve Longerbeam
    Signed-off-by: Philipp Zabel

    Jiada Wang
     

01 Dec, 2014

1 commit


12 Nov, 2014

1 commit

  • In omapdss_of_find_source_for_first_ep, we retrieve a source endpoint's DT node,
    and then see what omapdss output has the matching device_node pointer in
    omap_dss_find_output_by_node.

    For all DPI and SDI outputs, the device_node pointer is set as the parent's DSS
    device_node pointer. If the source is one of these outputs, the above method
    won't work.

    To get the correct output for ports within DSS(and in other cases in the future,
    where multiple ports might be under one device), we require additional
    information which is exclusive to the output port.

    We create a new field in omap_dss_device called 'port_num', this provides port
    number of the output port corresponding to this device. When searching for the
    source endpoint in DT, we extract the 'reg' property from the port corresponding
    to the endpoint source. From the list of registered outputs, we pick out that
    output which has both dev->of_node and port_num matching with the device_node
    pointer and 'reg' of the source endpoint node from DT.

    For encoder blocks(the ones which have both an input and output port), we need
    to set the port_num as the 'reg' property for the output port as defined in the
    DT bindings. We set port_num to 1 in the tfp410 and tpd12s015 encoder drivers.

    Signed-off-by: Archit Taneja
    Signed-off-by: Tomi Valkeinen

    Archit Taneja
     

19 Oct, 2014

1 commit

  • Pull fbdev updates from Tomi Valkeinen:
    - new 6x10 font
    - various small fixes and cleanups

    * tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (30 commits)
    fonts: Add 6x10 font
    videomode: provide dummy inline functions for !CONFIG_OF
    video/atmel_lcdfb: Introduce regulator support
    fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume
    framebuffer: fix screen corruption when copying
    framebuffer: fix border color
    arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb
    arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss
    video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info
    video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info
    video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info
    video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info
    video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info
    video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info
    video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy
    video: valkyriefb: Fix unused variable warning in set_valkyrie_clock()
    video: fbdev: use %*ph specifier to dump small buffers
    video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT
    video: fbdev: au1200fb: delete double assignment
    video: fbdev: sis: delete double assignment
    ...

    Linus Torvalds
     

07 Oct, 2014

1 commit

  • If CONFIG_OF is disabled but we build any driver that tries to
    use of_get_display_timing, we get this link error:

    ERROR: "of_get_display_timing" [drivers/gpu/drm/rcar-du/rcar-du-drm.ko] undefined!

    This adds an empty inline function as an alternative, to avoid changing
    each driver using this function when we want to build them without
    CONFIG_OF.

    Reported-by: Arnd Bergmann
    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     

02 Sep, 2014

12 commits