30 Apr, 2014

1 commit

  • Use %pad for dma_addr_t, because a dma_addr_t type can vary
    based on build options. So, it prevents possible build warnings
    in printks.

    Signed-off-by: Jingoo Han
    Reviewed-by: Daniel Kurtz
    Signed-off-by: Inki Dae
    Signed-off-by: Dave Airlie

    Jingoo Han
     

23 Mar, 2014

7 commits

  • This patch implements drm_connector directly in the vidi
    driver, this will allow us to move away from the exynos_drm_connector
    layer.

    Signed-off-by: Sean Paul
    Signed-off-by: Inki Dae

    Sean Paul
     
  • This patch removes all of the suspend/resume logic from the individual
    drivers and consolidates it in drm_drv. This consolidation reduces the
    number of functions which enable/disable the hardware to just one -- the
    dpms callback. This ensures that we always power up/down in a consistent
    manner.

    Signed-off-by: Sean Paul
    Signed-off-by: Inki Dae

    Sean Paul
     
  • This patch splits display and manager from subdrv. The result is that
    crtc functions can directly call into manager callbacks and encoder
    functions can directly call into display callbacks. This will allow
    us to remove the exynos_drm_hdmi shim and support mixer/hdmi & fimd/dp
    with common code.

    Signed-off-by: Sean Paul
    Signed-off-by: Inki Dae

    Sean Paul
     
  • This patch renames the display_op power_on to dpms to accurately reflect
    what the function does.

    The side-effect of this patch is that the new hdmi dpms callback is now
    invoked twice in the dpms path. This is safe and will be dealt with when
    the exynos_drm shim goes away.

    Signed-off-by: Sean Paul
    Reviewed-by: Tomasz Figa
    Signed-off-by: Inki Dae

    Sean Paul
     
  • This patch removes the apply() manager callback in favor of putting the
    relevant commits in the individual drivers. This will mitigate some of
    the difference between the suspend/resume path and the dpms path

    Signed-off-by: Sean Paul
    Reviewed-by: Tomasz Figa
    Signed-off-by: Inki Dae

    Sean Paul
     
  • This patch changes the manager ops callbacks from accepting the subdrv
    device pointer to taking a pointer to the manager. This will allow us
    to move closer to decoupling manager/display from subdrv, and subsequently
    decoupling the crtc/plane from the encoder.

    Signed-off-by: Sean Paul
    Signed-off-by: Inki Dae

    Sean Paul
     
  • This patch merges overlay_ops into manager_ops. In all cases,
    overlay_ops is implemented in the same place as manager ops, it doesn't
    serve a functional purpose, and doesn't make things more clear.

    Signed-off-by: Sean Paul
    Signed-off-by: Inki Dae

    Sean Paul
     

09 Oct, 2013

2 commits


01 Oct, 2013

1 commit


05 Sep, 2013

1 commit

  • Ensure that all externally accessed functions are correctly prototyped
    when defined in each file by making sure the headers with the protoypes
    are included in the file with the definition.

    Signed-off-by: Mark Brown
    Signed-off-by: Inki Dae

    Mark Brown
     

30 Jul, 2013

1 commit


04 Jul, 2013

1 commit


28 Jun, 2013

3 commits

  • This patch removes tracking log functions which were used to debug
    in the early development stage and are not so important as were.
    So remove them for code clean up.

    Signed-off-by: YoungJun Cho
    Signed-off-by: Seung-Woo Kim
    Signed-off-by: Inki Dae

    YoungJun Cho
     
  • This patch renames check_timing to check_mode and removes the
    unnecessary conversion of drm_display_mode to/from fb_videomode in
    the hdmi driver.

    v4:
    1) Changed the commit message to add information related to renaming
    the callbacks to check_mode.
    2) Changed debug message to print 1/0 for interlace mode.

    v3:
    1) Replaced check_timing callbacks with check_mode.
    2) Change the type of second parameter of check_mode callback from void
    pointer paramenter to struct drm_display_mode pointer.

    v2:
    1) Removed convert_to_video_timing().
    2) Corrected DRM_DEBUG_KMS to print the resolution properly.

    Signed-off-by: Rahul Sharma
    Signed-off-by: Inki Dae

    Rahul Sharma
     
  • This patch just checks if win_data array range is valid
    or not correctly.

    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Inki Dae
     

23 May, 2013

1 commit


20 Mar, 2013

1 commit


25 Jan, 2013

2 commits

  • If edid of vidi from user is invalid, size calculated from a number
    of cea extensions can be wrong. So, validation should be checked.

    Changelog v2:
    - just code cleanup
    . declare raw_edid only if vidi->connection is enabled.

    Signed-off-by: Seung-Woo Kim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Seung-Woo Kim
     
  • There's no need to allocate edid twice and do a memcpy when drm helpers
    exist to do just that. This patch cleans that interaction up, and
    doesn't keep the edid hanging around in the connector.

    v4:
    - removed error check for drm_mode_connector_update_edid_property
    which is expected to fail for Virtual Connectors like VIDI.
    Thanks to Seung-Woo Kim.

    v3:
    - removed MAX_EDID as it is not used anymore.

    v2:
    - changed vidi_get_edid callback inside vidi driver.

    Signed-off-by: Sean Paul
    Signed-off-by: Rahul Sharma
    Signed-off-by: Seung-Woo Kim
    Signed-off-by: Inki Dae

    Rahul Sharma
     

09 Jan, 2013

1 commit

  • Pull drm update from Dave Airlie:
    "Exynos and Radeon mostly, with a dma-buf and ttm fix thrown in.

    It's a bit big but its mostly exynos license fix ups and I'd rather
    not hold those up since its legally stuff.

    Radeon has a couple of fixes from dma engine work, TTM is just a
    locking fix, and dma-buf fix has been hanging around and I finally got
    a chance to review it."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (30 commits)
    drm/ttm: fix fence locking in ttm_buffer_object_transfer
    drm/prime: drop reference on imported dma-buf come from gem
    drm/radeon: add quirk for d3 delay during switcheroo poweron for apple macbooks
    drm/exynos: move finish page flip to a common place
    drm/exynos: fimd: modify condition in fimd resume
    drm/radeon: fix DMA CS parser for r6xx linear copy packet
    drm/radeon: split r6xx and r7xx copy_dma functions
    drm/exynos: Use devm_clk_get in exynos_drm_gsc.c
    drm/exynos: Remove redundant NULL check in exynos_drm_gsc.c
    drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_gsc.c
    drm/exynos: Use devm_clk_get in exynos_drm_rotator.c
    drm/exynos: Remove redundant NULL check in exynos_drm_rotator.c
    drm/exynos: Remove unnecessary devm_* freeing APIs in exynos_drm_rotator.c
    drm/exynos: Use devm_clk_get in exynos_drm_fimc.c
    drm/exynos: Remove redundant NULL check
    drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_fimc.c
    drm/exynos: Use devm_kzalloc in exynos_drm_ipp.c
    drm/exynos: fix gem buffer allocation type checking
    drm/exynos: remove needless parenthesis.
    drm/exynos: fix incorrect interrupt induced by m2m operation.
    ...

    Linus Torvalds
     

07 Jan, 2013

1 commit


04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, and __devexit
    from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Cc: David Airlie
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

13 Dec, 2012

1 commit


29 Nov, 2012

2 commits

  • Currently the exynos driver calls drm_vblank_off() with the event_lock
    held, while drm_vblank_off() will lock vbl_time and vblank_time_lock.
    This lock dependency chain conflicts with the one in drm_handle_vblank()
    where we first lock vblank_time_lock and then the event_lock.

    Fix this by removing the above drm_vblank_off() calls which are in fact
    never executed: drm_dev->vblank_disable_allowed is only ever non-zero
    during driver init, until it's set in {fimd,vidi}_subdrv_probe. Both the
    driver init and open code is protected by drm_global_mutex, so the
    earliest page flip ioctl can happen only after vblank_disable_allowed is
    set to 1. Thus {fimd,vidi}_finish_pageflip - with pending flip events -
    will always get called with vblank_disable_allowed being 1.

    Signed-off-by: Imre Deak
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Imre Deak
     
  • It's guaranteed that for each event on pageflip_event_list we have
    called drm_vblank_get() - see exynos_drm_crtc_page_flip() - so checking
    for this is redundant.

    Also we need to call drm_vblank_put() for each event on the list, not
    only once, otherwise we'd leak vblank references if there are multiple
    events on the list.

    Signed-off-by: Imre Deak
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Imre Deak
     

07 Oct, 2012

1 commit

  • Inki writes:
    "this patch set updates exynos drm framework and includes minor fixups.
    and this pull request except hdmi device tree support patch set posted
    by Rahul Sharma because that includes media side patch so for this
    patch set, we may have git pull one more time in addition, if we get
    an agreement with media guys. for this patch, you can refer to below link,
    http://comments.gmane.org/gmane.comp.video.dri.devel/74504

    this pull request adds hdmi device tree support
    and includes related patch set such as disabling of hdmi internal
    interrupt, suppport for platform variants for hdmi and mixer,
    support to disable video processor based on platform type and
    removal of drm common platform data. as you know, this patch
    set was delayed because it included an media side patch. so for this,
    we got an ack from v4l2-based hdmi driver author, Tomasz Stanislawski."

    * 'exynos-drm-next' of git://git.infradead.org/users/kmpark/linux-samsung: (34 commits)
    drm: exynos: hdmi: remove drm common hdmi platform data struct
    drm: exynos: hdmi: add support for exynos5 hdmi
    drm: exynos: hdmi: replace is_v13 with version check in hdmi
    drm: exynos: hdmi: add support for exynos5 mixer
    drm: exynos: hdmi: add support to disable video processor in mixer
    drm: exynos: hdmi: add support for platform variants for mixer
    drm: exynos: hdmi: add support for exynos5 hdmiphy
    drm: exynos: hdmi: add support for exynos5 ddc
    drm: exynos: remove drm hdmi platform data struct
    drm: exynos: hdmi: turn off HPD interrupt in HDMI chip
    drm: exynos: hdmi: use s5p-hdmi platform data
    drm: exynos: hdmi: fix interrupt handling
    drm: exynos: hdmi: support for platform variants
    media: s5p-hdmi: add HPD GPIO to platform data
    drm/exynos: fix kcalloc size of g2d cmdlist node
    drm/exynos: fix to calculate CRTC shown via screen
    drm/exynos: fix display power call issue.
    drm/exynos: add platform_device_id table and driver data for drm fimd
    drm/exynos: Fix potential NULL pointer dereference
    drm/exynos: support drm_wait_vblank feature for VIDI
    ...

    Conflicts:
    include/drm/exynos_drm.h

    Dave Airlie
     

04 Oct, 2012

3 commits

  • Pull drm merge (part 1) from Dave Airlie:
    "So first of all my tree and uapi stuff has a conflict mess, its my
    fault as the nouveau stuff didn't hit -next as were trying to rebase
    regressions out of it before we merged.

    Highlights:
    - SH mobile modesetting driver and associated helpers
    - some DRM core documentation
    - i915 modesetting rework, haswell hdmi, haswell and vlv fixes, write
    combined pte writing, ilk rc6 support,
    - nouveau: major driver rework into a hw core driver, makes features
    like SLI a lot saner to implement,
    - psb: add eDP/DP support for Cedarview
    - radeon: 2 layer page tables, async VM pte updates, better PLL
    selection for > 2 screens, better ACPI interactions

    The rest is general grab bag of fixes.

    So why part 1? well I have the exynos pull req which came in a bit
    late but was waiting for me to do something they shouldn't have and it
    looks fairly safe, and David Howells has some more header cleanups
    he'd like me to pull, that seem like a good idea, but I'd like to get
    this merge out of the way so -next dosen't get blocked."

    Tons of conflicts mostly due to silly include line changes, but mostly
    mindless. A few other small semantic conflicts too, noted from Dave's
    pre-merged branch.

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (447 commits)
    drm/nv98/crypt: fix fuc build with latest envyas
    drm/nouveau/devinit: fixup various issues with subdev ctor/init ordering
    drm/nv41/vm: fix and enable use of "real" pciegart
    drm/nv44/vm: fix and enable use of "real" pciegart
    drm/nv04/dmaobj: fixup vm target handling in preparation for nv4x pcie
    drm/nouveau: store supported dma mask in vmmgr
    drm/nvc0/ibus: initial implementation of subdev
    drm/nouveau/therm: add support for fan-control modes
    drm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules
    drm/nouveau/therm: calculate the pwm divisor on nv50+
    drm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster
    drm/nouveau/therm: move thermal-related functions to the therm subdev
    drm/nouveau/bios: parse the pwm divisor from the perf table
    drm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices
    drm/nouveau/therm: rework thermal table parsing
    drm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table
    drm/nouveau: fix pm initialization order
    drm/nouveau/bios: check that fixed tvdac gpio data is valid before using it
    drm/nouveau: log channel debug/error messages from client object rather than drm client
    drm/nouveau: have drm debugging macros build on top of core macros
    ...

    Linus Torvalds
     
  • this patch adds drm_wait_vblank support to Virtual Display module
    so user can use DRM_IOCT_WAIT_VBLANK ioctl with this patch.
    for this, you should set _DRM_VBLANK_EXYNOS_VIDI flags to
    vblwait->request.type

    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Inki Dae
     
  • when remove callback of exynos_drm_subdrv is called, it could need
    device object for sub driver to control things specific to hw such as
    runtime pm.

    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Inki Dae
     

03 Oct, 2012

1 commit


25 Sep, 2012

1 commit

  • Manual backmerge of -rc7 to resolve a silent conflict leading to
    compile failure in drivers/gpu/drm/i915/intel_hdmi.c.

    This is due to the bugfix in -rc7:

    commit b98b60167279df3acac9422c3c9820d9ebbcf9fb
    Author: Wang Xingchao
    Date: Thu Sep 13 07:43:22 2012 +0800

    drm/i915: HDMI - Clear Audio Enable bit for Hot Plug

    Since this code moved around a lot in -next git put that snippet at
    the wrong spot. I've tried to fix this by making the conflict explicit
    by merging a version for next with:

    commit 3cce574f0190dd149472059fb69267cf83d290f9
    Author: Wang Xingchao
    Date: Thu Sep 13 11:19:00 2012 +0800

    drm/i915: HDMI - Clear Audio Enable bit for Hot Plug unconditionally

    But that failed to solve the entire problem. To avoid pushing out
    further -nightly branch to our QA where this is broken, do the
    backmerge and manually add the stuff git adds to -next from the patch
    in -fixes.

    Note that this doesn't show up in git's merge diff (and hence is also
    not handled by git rerere), which adds to the reasons why I'd like to
    fix this with a verbose backmerge. The git merge diff only shows a
    bunch of trivial conflicts of the "code changed in lines next to each
    another" kind.

    Signed-off-by: Daniel Vetter

    Daniel Vetter
     

13 Sep, 2012

1 commit


24 Aug, 2012

1 commit

  • Neither the drm core nor any of the drivers really need the raw_edid field
    of struct drm_display_info for anything. Instead of being useful, it
    creates confusion about who is responsible for freeing the memory it points
    to and setting the field to NULL afterwards, leading to memory leaks and
    dangling pointers.

    Remove the raw_edid field, and fix drivers as necessary.

    Reported-by: Russell King
    Signed-off-by: Jani Nikula
    Acked-by: Inki Dae
    Signed-off-by: Dave Airlie

    Jani Nikula
     

27 Jul, 2012

5 commits