AgeCommit message (Collapse)AuthorFilesLines
2014-05-15PM / devfreq : Make exynos4 busfreq driver to use PPMU not DMC internal one.sandbox/cosmichobo/tizenJonghwa Lee4-104/+107
This patch modifies exynos4 busfreq driver to use global PPMU not DMC block's internal PMU. The PPMU has different event set with DMC's and it'll be more adaquate to profile bus utilization. Change-Id: Ia5f6801cf6081edf5c76cad2af86978843bdf91a Signed-off-by: Jonghwa Lee <>
2014-05-15clk: samsung: exynos4: Add ppmu clock's identical numberChanwoo choi1-0/+22
This patch add ppmu clock's identical number to get clock pointer on other device driver through DT binding. Change-Id: Ic55036e9c90409c8385dd365e75b4fbeefc0829c Signed-off-by: Chanwoo Choi <>
2014-05-15PM / devfreq: Rewrite devfreq_update_status() to fix multiple bugsSaravana Kannan1-11/+20
The current devfreq_update_status() has the following bugs: - If previous frequency doesn't have a valid level, it does an out of bounds access into the trans_table and causes memory corruption. - When the new frequency doesn't have a valid level, the time spent in the new frequency is counted towards the next valid frequency switch instead of being ignored. - The time spent on the previous frequency is added to the new frequency's stats instead of the previous frequency's stats. This patch fixes all of this. Change-Id: I9e3bb6ac6490d8f2e4bca2fd0d082f2fbd4a5b2e Signed-off-by: Saravana Kannan <> Signed-off-by: MyungJoo Ham <>
2014-05-15PM / devfreq: create_freezable_workqueue() doesn't return an ERR_PTRDan Carpenter1-2/+2
The create_freezable_workqueue() function returns a NULL on error and not an ERR_PTR. Change-Id: If805c1068d00d3a2e6897c890475e35c780ef8c7 Signed-off-by: Dan Carpenter <> Signed-off-by: MyungJoo Ham <>
2014-05-15PM / devfreq: fix typo "CPU_EXYNOS4.12" twicePaul Bolle1-1/+1
Dependencies on CPU_EXYNOS4212 and CPU_EXYNOS4412 for the "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver" were added in commit 7b4050381127ae11fcfc74a106d715a5fbbf888a ("PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412."). The tree (at that time, v3.3, and currently) makes clear that this should have been dependencies on SOC_EXYNOS4212 and SOC_EXYNOS4412. Change-Id: Ica470368f1e609199a5454d0de9d0448de2bccd2 Signed-off-by: Paul Bolle <>
2014-05-15PM / devfreq: fix missing unlock on error in exynos4_busfreq_pm_notifier_event()Wei Yongjun1-0/+1
Add the missing unlock before return from function exynos4_busfreq_pm_notifier_event() in the error handling case. This issue introduced by commit 8fa938 (PM / devfreq: exynos4_bus: honor RCU lock usage) Signed-off-by: Wei Yongjun <> [Resolved path conflicts by MyungJoo Ham] Signed-off-by: MyungJoo Ham <> Change-Id: I6fed109f21b18b458d7f0311961a85f5b2ba4756
2014-05-15PM / devfreq: add comments and DocumentationMyungJoo Ham3-0/+32
- Added missing ABI documents - Added comments to clarify the objectives of functions Change-Id: Ic2206ad6671156eedb28d450046e8e2ea876b18c Signed-off-by: MyungJoo Ham <> Acked-by: Nishanth Menon <> Acked-by: Rajagopal Venkat <>
2014-05-15PM / devfreq: account suspend/resume for statsRajagopal Venkat1-3/+12
devfreq stats is not taking device suspend and resume into account. Fix it. Change-Id: I224e046c15b40a384e6c548c6bd569e90a877945 Signed-off-by: Rajagopal Venkat <> Acked-by: MyungJoo Ham <>
2014-05-15PM / devfreq: Add Exynos5-bus devfreq driver for Exynos5250Abhilash Kesavan6-0/+646
Exynos5-bus device devfreq driver monitors PPMU counters and adjusts operating frequencies and voltages with OPP. ASV should be used to provide appropriate voltages as per the speed group of the SoC rather than using a constant 1.025V. Signed-off-by: Abhilash Kesavan <> [ minor style update] Signed-off-by: MyungJoo Ham <> Cc: Jonghwan Choi <> Cc: Kukjin Kim <> Change-Id: I9cfb1f88fc61623425f34013d7c0f3a9bb474c55
2014-05-15PM / devfreq: Move exynos4 devfreq driver into a new sub-directoryAbhilash Kesavan3-2/+4
In anticipation of the new exynos5 devfreq and ppmu driver, create an exynos sub-directory. Move the existing exynos4 devfreq driver into the same. Change-Id: I4734de3aa1da881996c580145cdc2f78d8df2553 Signed-off-by: Abhilash Kesavan <> Acked-by: MyungJoo Ham <>
2014-05-15packaging: update kernel version to 3.10.39refs/changes/19/21119/1Marek Szyprowski1-1/+1
Recent rebase updated kernel base from 3.10.33 to 3.10.39, so update kernel version in the spec file too. Change-Id: Ifc5239ea428e2178aa70ddd3b94364fdbb7ebadc Signed-off-by: Marek Szyprowski <>
2014-05-15ARM: odroidx2: Fix initialization failed of WinTV-Aero-MChangbing Xiong1-1/+1
During the initianlization of the tuner, driver will allocate 360K bytes from atomic DMA coherent pool, which is bigger than default size of the pool that kernel used, So we need to expand the pool. Change-Id: If1f869db25913ce8d5b30f31130a587efbf5b9c9 Signed-off-by: Changbing Xiong <>
2014-05-15add net_cls cgroupPrzemyslaw Kedzierski1-1/+1
This patch adds net_cls cgroup. It is needed for resourced. Change-Id: I78ee6b2dbe34aa6ce9cacc203a0c378524d76bb6 Signed-off-by: Przemyslaw Kedzierski <>
2014-05-15tizen: update tizen_defconfig after usb2 phy backportMarek Szyprowski1-4/+3
Signed-off-by: Marek Szyprowski <> Change-Id: I999a3507e29ecfa3a95f3cdd6ec746073da32a3d
2014-05-15Tizen: update defconfig for Odroid X2 and U3 boardsMarek Szyprowski1-9/+23
New defconfig supports both Odroid X2 and U3, so renamed it tizen_odroid_defconfig Signed-off-by: Marek Szyprowski <> Change-Id: I19c966f05e92292ededd2f910cbf1190b5b2c45f
2014-05-15ARM: dts: exynos4x12: refactor common Odroid defs and add OdroidU3 supportMarek Szyprowski4-537/+603
Moved most of the common definitions to exynos4412-odroid-common.dtsi and created exynos4412-odroidu3.dts for OdroidU3 board. Signed-off-by: Marek Szyprowski <> Change-Id: I30fcd329aff827e8c0e734ea6047782be03ed242
2014-05-15usb: usb5303: add support for reference clock specified in device treeMarek Szyprowski1-2/+26
USB3503 chip supports 8 values of reference clock. The value is specified by REF_SEL[1:0] pins and INT_N line. This patch add support for getting 'refclk' clock, enabling it and setting INT_N line according to the value of the gathered clock. If no clock has been specified, driver defaults to the old behaviour (assuming that clock has been specified by REF_SEL pins from primary reference clock frequencies table). Signed-off-by: Marek Szyprowski <> Change-Id: I3453e714f9a793640b8cb6c0b4ccf699661ec934
2014-05-15ARM: dts: update exynos usb2 phy nodes to match mainline driverMarek Szyprowski8-32/+56
Signed-off-by: Marek Szyprowski <> Change-Id: I9ac4bcd37e965b10d0add3030038635ec2d00130
2014-05-15usb: s5p-ehci: add support for more than one usb phyMarek Szyprowski1-50/+55
Based on 'usb: ehci-exynos: Change to use phy provided by the generic phy framework' patch posted to usb ml. Signed-off-by: Marek Szyprowski <> Change-Id: I5f7574c0659905148f6e7af95ecd197e92e03d16
2014-05-15drivers: phy: exynos4x12-phy: fix HSIC1 power on/off sequenceMarek Szyprowski2-15/+35
From experiments with real hardware, it seems that URSTCON bits for HSIC0 and HSIC1 seems to be swapped, so updated macro definitions for them. HSIC1 also requires enabling power to device phy to get properly enabled (similar hack is already implemented for HSIC0). Signed-off-by: Marek Szyprowski <> Change-Id: Idcbe47f1a55d882394296837b9218e9f843e842c
2014-05-15phy: exynos: fix building as a moduleArnd Bergmann1-3/+4
The top-level phy-samsung-usb2 driver may be configured as a loadable module, which currently causes link errors because of the dependency on the exynos{5250,4x12,4210}_usb2_phy_config symbol. Solving this could be achieved by exporting these symbols, but as the SoC-specific parts of the driver are not currently built as modules, it seems better to just link everything into one module and avoid the need for the export. Signed-off-by: Arnd Bergmann <> Acked-by: Kamil Debski <> Signed-off-by: Kishon Vijay Abraham I <> Signed-off-by: Greg Kroah-Hartman <> [backport from upstream commit d1481832f1dbb9d10fab27269631a130fa082f03] Signed-off-by: Marek Szyprowski <> Change-Id: I07f3a7ee523c55fab023b6c03caa6fba31bdec9b
2014-05-15phy: Add new Exynos USB 2.0 PHY driverKamil Debski8-0/+1098
Add a new driver for the Exynos USB 2.0 PHY. The new driver uses the generic PHY framework. The driver includes support for the Exynos 4x10 and 4x12 SoC families. Signed-off-by: Kamil Debski <> Reviewed-by: Tomasz Figa <> Signed-off-by: Kishon Vijay Abraham I <> [backport from upstream commit 06fb01373cae0bbf9af3a2b49e29c4341a5ba311] Signed-off-by: Marek Szyprowski <> Change-Id: I1f76ba5ecc23a49eeeec3c9a834a1e7fcc844834
2014-05-15Revert "phy: Add new Exynos USB PHY driver"Marek Szyprowski7-1076/+0
This reverts commit 9eaa4d2322f94704866fbd0cbce260ba8dcb6de2. Signed-off-by: Marek Szyprowski <> Change-Id: Ib0644b766b0174cdec43cc483b5ccc7f9487f411
2014-05-15Revert "phy: exynos-usb: Fix referenct counting"Marek Szyprowski1-1/+1
This reverts commit 58ae84cefb54046335d9581f3d96e8a5b947a08b. Signed-off-by: Marek Szyprowski <> Change-Id: I3adfabef0633bdb8542940a506976afd12856f21
2014-05-15Revert "phy: exynos: Change order of initialization of phy in power_on"Marek Szyprowski2-3/+23
This reverts commit dbd99235197ce37b37f5e0c04fe7465a655f9c47. Signed-off-by: Marek Szyprowski <> Change-Id: I010965a1deb88f01b8a8c07e2c56910f5d73b9d2
2014-05-15Revert "phy: exynos-usb: Remove ref counting for additional reset for ↵Marek Szyprowski1-0/+6
Exynos4212" This reverts commit f600e05157a6d3d38f87260f5caa88918cac129e. Signed-off-by: Marek Szyprowski <> Change-Id: Id87eb3479a353d34f58092973e2896bdacaf9c2a
2014-05-15Revert "phy: exynos : add delay after reset phy for usb host"Marek Szyprowski1-1/+0
This reverts commit 507ba96c49fe6e247dcb5a79e1aca7160def7254. Signed-off-by: Marek Szyprowski <> Change-Id: I57c35ef9ba7e3255562602662a81b3a8aa90461b
2014-05-15Revert "phy: exynos4212-usb: Use refcount to power device PHY for HSIC0"Marek Szyprowski1-10/+0
This reverts commit 16b990c41a9f1e31f4c51f66052a1c648a3c0b2e. Signed-off-by: Marek Szyprowski <> Change-Id: I49f69bf27d8226e05a3fb48c70b15f21e3685345
2014-05-15drivers: of: add for_each_available_child_of_node() macroMarek Szyprowski1-0/+5
Signed-off-by: Marek Szyprowski <> Change-Id: I7713121fa18e780df480c5a5c6ebfa0972424f6f
2014-05-15phy: core: make NULL a valid phy reference if !CONFIG_GENERIC_PHYGrygorii Strashko1-0/+16
This fixes a regression on Keystone 2 platforms caused by patch 57303488cd37da58263e842de134dc65f7c626d5 "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds optional support of generic phy in DWC3 core. On Keystone 2 platforms the USB is not working now because CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs return -ENOSYS always. The log shows: dwc3 2690000.dwc3: failed to initialize core dwc3: probe of 2690000.dwc3 failed with error -38 Hence, fix it by making NULL a valid phy reference in Generic PHY APIs stubs in the same way as it was done by the patch 04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL a valid phy reference". Acked-by: Felipe Balbi <> Acked-by: Santosh Shilimkar <> Signed-off-by: Grygorii Strashko <> Signed-off-by: Kishon Vijay Abraham I <> Signed-off-by: Greg Kroah-Hartman <> [backport from upstream commit 2b97789fa289d531e767d994a77e34ec58f328c4] Signed-off-by: Marek Szyprowski <> Change-Id: Iad7bfec8716de065eb2707a0fe9f123eed691c3f
2014-05-15phy: fix kernel oops in phy_lookup()Sergei Shtylyov1-0/+3
The kernel oopses in phy_lookup() due to 'phy->init_data' being NULL if we register PHYs from a device tree probing driver and then call phy_get() on a device that has no representation in the device tree (e.g. a PCI device). Checking the pointer before dereferening it and skipping an interation if it's NULL prevents this kernel oops. Signed-off-by: Sergei Shtylyov <> Signed-off-by: Kishon Vijay Abraham I <> Signed-off-by: Greg Kroah-Hartman <> [backport from upstream commit 743bb387a1edbf1ebbba6cf77c1af3e488886c39] Signed-off-by: Marek Szyprowski <> Change-Id: Iea16343af63965d19960fc8acf89e0a65b806440
2014-05-15phy: core: Add devm_of_phy_get to phy-coreKamil Debski2-0/+40
Adding devm_of_phy_get will allow to get phys by supplying a pointer to the struct device_node instead of struct device. Signed-off-by: Kamil Debski <> Reviewed-by: Tomasz Figa <> Signed-off-by: Kishon Vijay Abraham I <> [backport from upstream commit b5d682f4eb76c98f2ca5658926df43dd05cf2c37] Signed-off-by: Marek Szyprowski <> Change-Id: Ie1d75af85ef1072457074d94ab268c5d570ed930
2014-05-15phy: core: Add an exported of_phy_get functionKamil Debski2-9/+42
Previously the of_phy_get function took a struct device * and was declared static. It was impossible to call it from another driver and thus it was impossible to get phy defined for a given node. The old function was renamed to _of_phy_get and was left for internal use. of_phy_get function was added and it was exported. The function enables to get a phy for a given device tree node. Signed-off-by: Kamil Debski <> Reviewed-by: Tomasz Figa <> Signed-off-by: Kishon Vijay Abraham I <> [backport from upstream commit 0b3f3b2c777a2f7d20c9826a190ffd5bbd288f8f] Signed-off-by: Marek Szyprowski <> Change-Id: Id5aef3fdb574ba269f938428375cc4e88e5e59c0
2014-05-15phy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to callerHans de Goede1-0/+4
The phy-core allows phy_init and phy_power_on to be called multiple times, but before this patch -ENOSUPP from phy_pm_runtime_get_sync would be propagated to the caller for the 2nd and later calls. Signed-off-by: Hans de Goede <> Signed-off-by: Kishon Vijay Abraham I <> Signed-off-by: Greg Kroah-Hartman <> [backport from upstream commit 767a1b5d6ec4ac5335dde17100880347ed154ce2] Signed-off-by: Marek Szyprowski <> Change-Id: If65ef9e8d070b4f3d601e139a28246fab36cb40e
2014-05-15phy-core: phy_get: Leave error logging to the callerHans de Goede1-8/+2
In various cases errors may be expected, ie probe-deferral or a call to phy_get from a driver where the use of a phy is optional. Rather then adding all sort of complicated checks for this, and/or adding special functions like devm_phy_get_optional, simply don't log an error, and let deciding if get_phy returning an error really should result in a dev_err up to the caller. Signed-off-by: Hans de Goede <> Signed-off-by: Kishon Vijay Abraham I <> Signed-off-by: Greg Kroah-Hartman <> [backport from upstream commit f40037fd3677ae240978f469cc4155bf3ca7c076] Signed-off-by: Marek Szyprowski <> Change-Id: Iafe801b4c0a2419abc8f20717a3f441a2d9a2ab1
2014-05-15drivers: phy: Add support for optional physAndrew Lunn3-7/+72
Add devm_phy_optional_get and phy_optional_get, which should be used when the phy is optional. They does not return an error when the phy does not exist, rather they returns NULL, which is considered as a valid phy, but results in NOPs when used with the consumer API. Signed-off-by: Andrew Lunn <> Tested-by: Gregory CLEMENT <> Acked-by: Kishon Vijay Abraham I <> Signed-off-by: Jason Cooper <> [backport from upstream commit 788a4d56ff378bff0b8e685d03a962b36903a149] Signed-off-by: Marek Szyprowski <> Change-Id: I76c9bb54d4bd11b742522c91c28f48b82ca4aa41
2014-05-15phy: add phy_get_bus_width()/phy_set_bus_width() callsMatt Porter1-0/+28
This adds a pair of APIs that allows the generic PHY subsystem to provide information on the PHY bus width. The PHY provider driver may use phy_set_bus_width() to set the bus width that the PHY supports. The controller driver may then use phy_get_bus_width() to fetch the PHY bus width in order to properly configure the controller. Signed-off-by: Matt Porter <> Acked-by: Kishon Vijay Abraham I <> Signed-off-by: Felipe Balbi <> [backport from upstream commit 8feed347d33bb630d426b9f2ed88cbdf9795f624] Signed-off-by: Marek Szyprowski <> Change-Id: I327ac9c7fb50d39e0351c15ea72b3748957ea03d
2014-05-15drivers: phy: Make NULL a valid phy referenceAndrew Lunn2-1/+22
The common clock framework considers NULL a valid clock reference. This makes handling optional clocks simple, in that if the optional clock is not available, a NULL reference can be used in the place of a real clock, simplifying the clock consumer. Extend this concept to the phy consumer API. A NULL can be passed to the release calls, the phy_init() and phy_exit() calls, and phy_power_on() and phy_power_off() and a NOP is performed. Signed-off-by: Andrew Lunn <> Tested-by: Gregory CLEMENT <> Acked-by: Kishon Vijay Abraham I <> Signed-off-by: Jason Cooper <> [backport from upstream commit 04c2facad8fee66c981a51852806d8923336f362] Signed-off-by: Marek Szyprowski <> Change-Id: I387a29962849f50fa8df1ab684babcbbe3227c84
2014-05-15phy: phy-core.c: remove unnecessary initialization of local variablesKishon Vijay Abraham I1-3/+3
There were a few places where variables are initialized unncessarily. Remove those initializations. Signed-off-by: Kishon Vijay Abraham I <> [backport from upstream commit d18c960430ca341e5c12a023c805ff8fd10032a6] Signed-off-by: Marek Szyprowski <> Change-Id: Ib80f6930d91c01a1e2c9f70ae4e61519eadd37d1
2014-05-15phy: phy-core: increment refcounting variables only on 'success'Kishon Vijay Abraham I1-8/+14
Increment 'init_count' only if the 'init' callback succeeded and decrement 'init_count' only if the 'exit' callback succeded. Increment 'power_count' only if 'power_on' callback succeded and if it failed disable the clocks using phy_pm_runtime_put_sync(). Also decrement 'power_count' only if 'power_off' callback succeded and if it failed do not disable the clocks. Reported-by: George Cherian <> Signed-off-by: Kishon Vijay Abraham I <> [backport from upstream commit 637d378cea0b463c466a61a6564cdd541d689af5] Signed-off-by: Marek Szyprowski <> Change-Id: I482404787fa520568d365fbc39ab81d812689f20
2014-05-15phy: core: properly handle failure of pm_runtime_get functionsFelipe Balbi1-2/+14
In case pm_runtime_get*() fails, it still increments pm usage counter, so we *must* make sure to pm_runtime_put() even in those cases. This patch fixes that mistake the same way usbcore treats those possible failures. Signed-off-by: Felipe Balbi <> Signed-off-by: Kishon Vijay Abraham I <> [backport from upstream commit cedb7f89d1e1f631b7e5d920fe1ea7f742d07f79] Signed-off-by: Marek Szyprowski <> Change-Id: I8de0a4c76c5ad3de2d45996504f3f1aa716dc017
2014-05-15drivers: phy: tweaks to phy_create()Dan Carpenter1-16/+10
If this was called with a NULL "dev" then it lead to a NULL dereference when we called dev_WARN(). I have changed it to WARN_ON() so that we get a stack dump and can fix the caller. The rest of this patch is just cleanup like returning directly instead of having do-nothing gotos. Using descriptive labels instead of GW-BASIC style "err0" and "err1". I also flipped the order of put_device() and ida_remove() so they are a mirror reflection of the order they were allocated. Signed-off-by: Dan Carpenter <> Signed-off-by: Kishon Vijay Abraham I <> Signed-off-by: Greg Kroah-Hartman <> [backport from upstream commit 52797d293287f5a98bd686616527b102b077ac39] Signed-off-by: Marek Szyprowski <> Change-Id: I695ba238d040b484d1be1f10f7752a7dac164aab
2014-05-15drivers: phy: Fix memory leakSachin Kamat1-5/+5
'phy' was not being freed upon error in one of the cases. Adjust the 'goto's to fix this. Signed-off-by: Sachin Kamat <> Signed-off-by: Kishon Vijay Abraham I <> Signed-off-by: Greg Kroah-Hartman <> [backport from upstream commit c1b1731d2002b93857810aa5da856b43f46bb470] Signed-off-by: Marek Szyprowski <> Change-Id: I170f5d157e97077e50f059dbecdcb0877fd1a680
2014-05-15drivers: phy: reset to mainline ff764963479a1b18721ab96e531404c50fefe8b1Marek Szyprowski1-23/+23
Change-Id: Ic98c8f884f28553dd50c91d441e605b4c0283aad Signed-off-by: Marek Szyprowski <>
2014-05-15ARM: odroidx2: update defconfig to support Hauppauge WinTV-Aero-MChangbing Xiong1-197/+17
This modification will build drivers of WinTV-Aero-M into kernel, So that odroidx2 target could support this kind of tuner. Change-Id: I0788bda220e7151249d553274050a2b523a34e41 Signed-off-by: Changbing Xiong <>
2014-05-15ARM: dts: trats2: remove property from nodes of keysBeomho Seo1-8/+0
This patch removed interrupt-parent and interrupts propertoes from nodes of the keys. Because they are not part of the device tree bindings. Change-Id: I73af25dde2308769a453a43133cc65f33dd3aef0 Signed-off-by: Beomho Seo <>
2014-05-15mmc: dw_mmc-exynos: add the MMC_CAP_ERASE capabilityJaehoon Chung1-4/+4
To use the erase command, add the MMC_CAP_ERASE capability by default. Change-Id: Ia9c600eafb08bebb7a60b3b3147a8c8baf303cd0 Signed-off-by: Jaehoon Chung <>
2014-05-15drm/exynos: hdmi: fix dt broken issueInki Dae1-18/+70
This patch resolves the issue that the use of existing dtb is broken. This patch gets existing dt nodes directly and checks if existing dtb should be supported or not. For this, it adds a soc_ver varable to hdmi_context structure to distinguish SoC version because it should get dt node corresponding to SoC correctly. Signed-off-by: Inki Dae <>
2014-05-15Revert "drm/exynos: add mout_hdmi clock in hdmi driver to change parent"Tomasz Stanislawski1-7/+1
Signed-off-by: Tomasz Stanislawski <> Signed-off-by: Inki Dae <>
2014-05-15drm/exynos: release unhandled page flip events at postclose.Inki Dae1-13/+22
This patch resolves a dead lock issue that could be incurred when exynos_drm_crtc_dpms function was called. The exynos_drm_crtc_dpms function waits for the completion of pended page flip events. However, preclose callback - this releases all unhandled page flip events - is called prior to the exynos_drm_crtc_dpms function call when drm is closed. So at this time, this will make the exynos_drm_crtc_dpms to wait infiniately for the completion of the page flip events. This patch releases the unhandled page flip events at postclose instead of preclose so that exynos_drm_crtc_dpms function can be waked up. Changelog v2: - fix a memory leak when drm is closed. . it has a memory leak when a requeste page flip is handled after drm_events_release() is called and before drm_fb_release() is called. At this time, a drm_pending_event will not be freed. So also this chage releases the drm_pending_event at postclose(). And it calls drm_vblank_put() for pair if there is any unhandled page flip event. Signed-off-by: Inki Dae <> Signed-off-by: Kyungmin Park <>