Re: [GIT PULL] Please pull hmm changes

2019-12-12 Thread Jason Gunthorpe
On Thu, Dec 05, 2019 at 03:03:56PM -0800, John Hubbard wrote: > No advice, just a naming idea similar in spirit to Jerome's suggestion > (use a longer descriptive word, and don't try to capture the entire phrase): > use "notif" in place of the unloved "mmn". So partially, approximately like >

[PATCH 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-12 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/scheduler/sched_entity.c | 19 --- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c

Re: [PATCH] drm/panel: Add Boe Himax8279d MIPI-DSI LCD panel

2019-12-12 Thread Jerry Han
> > Hi Jerry. > > > > Support Boe Himax8279d 8.0" 1200x1920 TFT LCD panel, it is a MIPI DSI > > panel. > > Thanks for your persistence with this driver. > > > Unfortunately the driver no longer builds after the drm_panel > work we committed earlier this week to drm-misc-next. > > > > > V9: > > -

Re: [GIT PULL] Please pull hmm changes

2019-12-12 Thread Jason Gunthorpe
On Thu, Dec 05, 2019 at 11:03:24AM -0500, Jerome Glisse wrote: > > struct mmu_notifier_mm (ie the mm->mmu_notifier_mm) > >-> mmn_mm > > struct mm_struct > >-> mm > > struct mmu_notifier (ie the user subscription to the mm_struct) > >-> mn > > struct mmu_interval_notifier (the other

Re: [PATCH 5/5] Revert "drm: atmel-hlcdc: enable sys_clk during initalization."

2019-12-12 Thread Claudiu.Beznea
On 10.12.2019 22:34, Sam Ravnborg wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > Hi Cladiu > > On Tue, Dec 10, 2019 at 03:24:47PM +0200, Claudiu Beznea wrote: >> This reverts commit d2c755e66617620b729041c625a6396c81d1231c. >> ("drm:

Re: [PATCH 3/5] drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight()

2019-12-12 Thread AceLan Kao
This series of patches works well on a new platform which has a panel only controls by DPCD aux brightness. Tested-by: AceLan Kao -- Chia-Lin Kao(AceLan) http://blog.acelan.idv.tw/ E-Mail: acelan.kaoATcanonical.com (s/AT/@/) ___ dri-devel mailing

Re: [PATCH 2/5] drm/i915: Assume 100% brightness when not in DPCD control mode

2019-12-12 Thread AceLan Kao
This series of patches works well on a new platform which has a panel only controls by DPCD aux brightness. Tested-by: AceLan Kao -- Chia-Lin Kao(AceLan) http://blog.acelan.idv.tw/ E-Mail: acelan.kaoATcanonical.com (s/AT/@/) ___ dri-devel mailing

Re: [PATCH 4/5] Revert "drm/atmel-hlcdc: allow selecting a higher pixel-clock than requested"

2019-12-12 Thread Peter Rosin
On 2019-12-11 12:45, claudiu.bez...@microchip.com wrote: > > > On 10.12.2019 19:22, Peter Rosin wrote: >> EXTERNAL EMAIL: Do not click links or open attachments unless you know the >> content is safe >> >> On 2019-12-10 15:59, claudiu.bez...@microchip.com wrote: >>> >>> >>> On 10.12.2019 16:11,

Re: [PATCH 4/5] Revert "drm/atmel-hlcdc: allow selecting a higher pixel-clock than requested"

2019-12-12 Thread Claudiu.Beznea
On 10.12.2019 19:22, Peter Rosin wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 2019-12-10 15:59, claudiu.bez...@microchip.com wrote: >> >> >> On 10.12.2019 16:11, Peter Rosin wrote: >>> On 2019-12-10 14:24, Claudiu Beznea wrote:

[PATCH 1/4] drm/scheduler: rework entity creation

2019-12-12 Thread Nirmoy Das
Entity currently keeps a copy of run_queue list and modify it in drm_sched_entity_set_priority(). Entities shouldn't modify run_queue list. Use drm_gpu_scheduler list instead of drm_sched_rq list in drm_sched_entity struct. In this way we can select a runqueue based on entity/ctx's priority for a

Re: [PATCH v2 4/4] drm/msm/a4xx: set interconnect bandwidth vote

2019-12-12 Thread Bjorn Andersson
On Thu 21 Nov 17:26 PST 2019, Brian Masney wrote: > Set the two interconnect paths for the GPU to maximum speed for now to > work towards getting the GPU working upstream. We can revisit a later > time to optimize this for battery life. > > Signed-off-by: Brian Masney Reviewed-by: Bjorn

Re: [PATCH 1/5] drm/i915: Fix eDP DPCD aux max backlight calculations

2019-12-12 Thread AceLan Kao
This series of patches works well on a new platform which has a panel only controls by DPCD aux brightness. Tested-by: AceLan Kao -- Chia-Lin Kao(AceLan) http://blog.acelan.idv.tw/ E-Mail: acelan.kaoATcanonical.com (s/AT/@/) ___ dri-devel mailing

Re: [PATCH 5/5] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel

2019-12-12 Thread AceLan Kao
I don't have this panel, but adding the first 3 OUI bytes to the quirk, another platform which has DPCD aux brightness control works well. Tested-by: AceLan Kao -- Chia-Lin Kao(AceLan) http://blog.acelan.idv.tw/ E-Mail: acelan.kaoATcanonical.com (s/AT/@/)

[PATCH 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-12 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-

[PATCH 1/2] Return from mtk_ovl_layer_config after mtk_ovl_layer_off

2019-12-12 Thread Mark Yacoub
drm/mediatek: return if plane pending state is disabled. If the plane pending state is disabled, call mtk_ovl_layer_off then return. This guarantees that that the state is valid for all operations when the pending state is enabled. Suggested-by: Sean Paul To: CK Hu To:

[PATCH] drm/panel: boe-himax8279d: use drm_panel backlight support

2019-12-12 Thread Jerry Han
Use the backlight support in drm_panel to simplify the driver Signed-off-by: Jerry Han Reviewed-by: Sam Ravnborg --- drivers/gpu/drm/panel/panel-boe-himax8279d.c | 17 +++-- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-boe-himax8279d.c

Re: [PATCH v2 1/4] dt-bindings: drm/msm/gpu: document second interconnect

2019-12-12 Thread Bjorn Andersson
On Thu 21 Nov 17:26 PST 2019, Brian Masney wrote: > Some A3xx and all A4xx Adreno GPUs do not have GMEM inside the GPU core > and must use the On Chip MEMory (OCMEM) in order to be functional. > There's a separate interconnect path that needs to be setup to OCMEM. > Let's document this second

Re: [PATCH v2 2/4] drm/msm/gpu: add support for ocmem interconnect path

2019-12-12 Thread Bjorn Andersson
On Thu 21 Nov 17:26 PST 2019, Brian Masney wrote: > Some A3xx and all A4xx Adreno GPUs do not have GMEM inside the GPU core > and must use the On Chip MEMory (OCMEM) in order to be functional. > There's a separate interconnect path that needs to be setup to OCMEM. > Add support for this second

Re: [PATCH 2/3] ARM: dts: am437x-gp/epos-evm: drop unused panel timings

2019-12-12 Thread Tony Lindgren
* Laurent Pinchart [191202 13:05]: > Hi Tomi, > > Thank you for the patch. > > On Thu, Nov 14, 2019 at 11:39:49AM +0200, Tomi Valkeinen wrote: > > panel-simple now handled panel osd070t1718-19ts, and we no longer need > > the panel timings in the DT file. So remove them. > > Should you in that

[PATCH] drm: rockchip: rk3066_hdmi: set edid fifo address

2019-12-12 Thread Johan Jonker
From: Nickey Yang Fix edid reading error when edid's block > 2. Signed-off-by: Nickey Yang Signed-off-by: Johan Jonker --- drivers/gpu/drm/rockchip/rk3066_hdmi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c

Re: [PATCH v2 3/4] drm/msm/a3xx: set interconnect bandwidth vote

2019-12-12 Thread Bjorn Andersson
On Thu 21 Nov 17:26 PST 2019, Brian Masney wrote: > Set the two interconnect paths for the GPU to maximum speed for now to > work towards getting the GPU working upstream. We can revisit a later > time to optimize this for battery life. > > Signed-off-by: Brian Masney Reviewed-by: Bjorn

[PATCH 1/2] drm/komeda: Add basic support for D77

2019-12-12 Thread Tiannan Zhu (Arm Technology China)
Make komeda driver can recongise D77, D77 is arm latest display product, compare with D71, D77 support some new features: 1. Crossbar: adjust every plane's zorder 2. ATU: Asynchronous Timewarp Unit, which is used to support VR/AR Signed-off-by: Tiannan Zhu (Arm Technology China) ---

Re: [PATCH v4 1/2] mm: Add a vmf_insert_mixed_prot() function

2019-12-12 Thread Thomas Hellstrom
On 12/12/19 9:48 AM, Thomas Hellström (VMware) wrote: > From: Thomas Hellstrom > > The TTM module today uses a hack to be able to set a different page > protection than struct vm_area_struct::vm_page_prot. To be able to do > this properly, add the needed vm functionality as

[PATCH v4 0/2] mm, drm/ttm: Fix pte insertion with customized protection

2019-12-12 Thread VMware
From: Thomas Hellstrom The drm/ttm module is using a modified on-stack copy of the struct vm_area_struct to be able to set a page protection with customized caching. Fix that by adding a vmf_insert_mixed_prot() function similar to the existing vmf_insert_pfn_prot() for use with drm/ttm. I'd

[PATCH v4 1/2] mm: Add a vmf_insert_mixed_prot() function

2019-12-12 Thread VMware
From: Thomas Hellstrom The TTM module today uses a hack to be able to set a different page protection than struct vm_area_struct::vm_page_prot. To be able to do this properly, add the needed vm functionality as vmf_insert_mixed_prot(). Cc: Andrew Morton Cc: Michal Hocko Cc: "Matthew Wilcox

[PATCH v4 2/2] mm, drm/ttm: Fix vm page protection handling

2019-12-12 Thread VMware
From: Thomas Hellstrom TTM graphics buffer objects may, transparently to user-space, move between IO and system memory. When that happens, all PTEs pointing to the old location are zapped before the move and then faulted in again if needed. When that happens, the page protection caching mode-

Re: [PATCH 2/3] mfd: intel_soc_pmic: Rename pwm_backlight pwm-lookup to pwm_pmic_backlight

2019-12-12 Thread Lee Jones
On Wed, 11 Dec 2019, Hans de Goede wrote: > Hi Lee, > > On 10-12-2019 09:51, Lee Jones wrote: > > On Tue, 19 Nov 2019, Hans de Goede wrote: > > > > > At least Bay Trail (BYT) and Cherry Trail (CHT) devices can use 1 of 2 > > > different PWM controllers for controlling the LCD's backlight

Re: [6/8] drm/atomic: convert to drm device based logging

2019-12-12 Thread Jani Nikula
On Thu, 12 Dec 2019, "james qian wang (Arm Technology China)" wrote: > On Tue, Dec 10, 2019 at 02:30:48PM +0200, Jani Nikula wrote: >> Prefer drm_dbg_atomic(). >> >> Signed-off-by: Jani Nikula >> --- >> drivers/gpu/drm/drm_agpsupport.c | 4 +- >> drivers/gpu/drm/drm_atomic.c | 187

[PATCH v10 08/25] mm/gup: allow FOLL_FORCE for get_user_pages_fast()

2019-12-12 Thread John Hubbard
Commit 817be129e6f2 ("mm: validate get_user_pages_fast flags") allowed only FOLL_WRITE and FOLL_LONGTERM to be passed to get_user_pages_fast(). This, combined with the fact that get_user_pages_fast() falls back to "slow gup", which *does* accept FOLL_FORCE, leads to an odd situation: if you need

[PATCH v10 19/25] vfio, mm: pin_user_pages (FOLL_PIN) and put_user_page() conversion

2019-12-12 Thread John Hubbard
1. Change vfio from get_user_pages_remote(), to pin_user_pages_remote(). 2. Because all FOLL_PIN-acquired pages must be released via put_user_page(), also convert the put_page() call over to put_user_pages_dirty_lock(). Note that this effectively changes the code's behavior in

[PATCH v10 06/25] mm: fix get_user_pages_remote()'s handling of FOLL_LONGTERM

2019-12-12 Thread John Hubbard
As it says in the updated comment in gup.c: current FOLL_LONGTERM behavior is incompatible with FAULT_FLAG_ALLOW_RETRY because of the FS DAX check requirement on vmas. However, the corresponding restriction in get_user_pages_remote() was slightly stricter than is actually required: it forbade all

[PATCH v10 09/25] IB/umem: use get_user_pages_fast() to pin DMA pages

2019-12-12 Thread John Hubbard
And get rid of the mmap_sem calls, as part of that. Note that get_user_pages_fast() will, if necessary, fall back to __gup_longterm_unlocked(), which takes the mmap_sem as needed. Reviewed-by: Leon Romanovsky Reviewed-by: Christoph Hellwig Reviewed-by: Jan Kara Reviewed-by: Jason Gunthorpe

[PATCH v10 10/25] mm/gup: introduce pin_user_pages*() and FOLL_PIN

2019-12-12 Thread John Hubbard
Introduce pin_user_pages*() variations of get_user_pages*() calls, and also pin_longterm_pages*() variations. For now, these are placeholder calls, until the various call sites are converted to use the correct get_user_pages*() or pin_user_pages*() API. These variants will eventually all set

[PATCH v10 02/25] mm/gup: move try_get_compound_head() to top, fix minor issues

2019-12-12 Thread John Hubbard
An upcoming patch uses try_get_compound_head() more widely, so move it to the top of gup.c. Also fix a tiny spelling error and a checkpatch.pl warning. Reviewed-by: Christoph Hellwig Reviewed-by: Jan Kara Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- mm/gup.c | 29

[PATCH v10 07/25] vfio: fix FOLL_LONGTERM use, simplify get_user_pages_remote() call

2019-12-12 Thread John Hubbard
Update VFIO to take advantage of the recently loosened restriction on FOLL_LONGTERM with get_user_pages_remote(). Also, now it is possible to fix a bug: the VFIO caller is logically a FOLL_LONGTERM user, but it wasn't setting FOLL_LONGTERM. Also, remove an unnessary pair of calls that were

[PATCH v10 24/25] mm/gup_benchmark: support pin_user_pages() and related calls

2019-12-12 Thread John Hubbard
Up until now, gup_benchmark supported testing of the following kernel functions: * get_user_pages(): via the '-U' command line option * get_user_pages_longterm(): via the '-L' command line option * get_user_pages_fast(): as the default (no options required) Add test coverage for the new

[PATCH v10 22/25] mm, tree-wide: rename put_user_page*() to unpin_user_page*()

2019-12-12 Thread John Hubbard
In order to provide a clearer, more symmetric API for pinning and unpinning DMA pages. This way, pin_user_pages*() calls match up with unpin_user_pages*() calls, and the API is a lot closer to being self-explanatory. Reviewed-by: Jan Kara Signed-off-by: John Hubbard ---

[PATCH v10 13/25] mm/process_vm_access: set FOLL_PIN via pin_user_pages_remote()

2019-12-12 Thread John Hubbard
Convert process_vm_access to use the new pin_user_pages_remote() call, which sets FOLL_PIN. Setting FOLL_PIN is now required for code that requires tracking of pinned pages. Also, release the pages via put_user_page*(). Also, rename "pages" to "pinned_pages", as this makes for easier reading of

[PATCH v10 23/25] mm/gup: track FOLL_PIN pages

2019-12-12 Thread John Hubbard
Add tracking of pages that were pinned via FOLL_PIN. As mentioned in the FOLL_PIN documentation, callers who effectively set FOLL_PIN are required to ultimately free such pages via unpin_user_page(). The effect is similar to FOLL_GET, and may be thought of as "FOLL_GET for DIO and/or RDMA use".

[PATCH v10 25/25] selftests/vm: run_vmtests: invoke gup_benchmark with basic FOLL_PIN coverage

2019-12-12 Thread John Hubbard
It's good to have basic unit test coverage of the new FOLL_PIN behavior. Fortunately, the gup_benchmark unit test is extremely fast (a few milliseconds), so adding it the the run_vmtests suite is going to cause no noticeable change in running time. So, add two new invocations to run_vmtests: 1)

[PATCH v10 04/25] mm: devmap: refactor 1-based refcounting for ZONE_DEVICE pages

2019-12-12 Thread John Hubbard
An upcoming patch changes and complicates the refcounting and especially the "put page" aspects of it. In order to keep everything clean, refactor the devmap page release routines: * Rename put_devmap_managed_page() to page_is_devmap_managed(), and limit the functionality to "read only": return

[PATCH v10 21/25] mm/gup_benchmark: use proper FOLL_WRITE flags instead of hard-coding "1"

2019-12-12 Thread John Hubbard
Fix the gup benchmark flags to use the symbolic FOLL_WRITE, instead of a hard-coded "1" value. Also, clean up the filtering of gup flags a little, by just doing it once before issuing any of the get_user_pages*() calls. This makes it harder to overlook, instead of having little "gup_flags & 1"

[PATCH v10 12/25] IB/{core, hw, umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP

2019-12-12 Thread John Hubbard
Convert infiniband to use the new pin_user_pages*() calls. Also, revert earlier changes to Infiniband ODP that had it using put_user_page(). ODP is "Case 3" in Documentation/core-api/pin_user_pages.rst, which is to say, normal get_user_pages() and put_page() is the API to use there. The new

[PATCH v10 16/25] net/xdp: set FOLL_PIN via pin_user_pages()

2019-12-12 Thread John Hubbard
Convert net/xdp to use the new pin_longterm_pages() call, which sets FOLL_PIN. Setting FOLL_PIN is now required for code that requires tracking of pinned pages. In partial anticipation of this work, the net/xdp code was already calling put_user_page() instead of put_page(). Therefore, in order to

[PATCH v10 17/25] media/v4l2-core: set pages dirty upon releasing DMA buffers

2019-12-12 Thread John Hubbard
After DMA is complete, and the device and CPU caches are synchronized, it's still required to mark the CPU pages as dirty, if the data was coming from the device. However, this driver was just issuing a bare put_page() call, without any set_page_dirty*() call. Fix the problem, by calling

[PATCH v10 05/25] goldish_pipe: rename local pin_user_pages() routine

2019-12-12 Thread John Hubbard
1. Avoid naming conflicts: rename local static function from "pin_user_pages()" to "goldfish_pin_pages()". An upcoming patch will introduce a global pin_user_pages() function. Reviewed-by: Jan Kara Reviewed-by: Jérôme Glisse Reviewed-by: Ira Weiny Signed-off-by: John Hubbard ---

[PATCH v10 15/25] fs/io_uring: set FOLL_PIN via pin_user_pages()

2019-12-12 Thread John Hubbard
Convert fs/io_uring to use the new pin_user_pages() call, which sets FOLL_PIN. Setting FOLL_PIN is now required for code that requires tracking of pinned pages, and therefore for any code that calls put_user_page(). In partial anticipation of this work, the io_uring code was already calling

[PATCH v10 11/25] goldish_pipe: convert to pin_user_pages() and put_user_page()

2019-12-12 Thread John Hubbard
1. Call the new global pin_user_pages_fast(), from pin_goldfish_pages(). 2. As required by pin_user_pages(), release these pages via put_user_page(). In this case, do so via put_user_pages_dirty_lock(). That has the side effect of calling set_page_dirty_lock(), instead of set_page_dirty(). This

[PATCH v10 18/25] media/v4l2-core: pin_user_pages (FOLL_PIN) and put_user_page() conversion

2019-12-12 Thread John Hubbard
1. Change v4l2 from get_user_pages() to pin_user_pages(). 2. Because all FOLL_PIN-acquired pages must be released via put_user_page(), also convert the put_page() call over to put_user_pages_dirty_lock(). Acked-by: Hans Verkuil Cc: Ira Weiny Signed-off-by: John Hubbard ---

[PATCH v10 01/25] mm/gup: factor out duplicate code from four routines

2019-12-12 Thread John Hubbard
There are four locations in gup.c that have a fair amount of code duplication. This means that changing one requires making the same changes in four places, not to mention reading the same code four times, and wondering if there are subtle differences. Factor out the common code into static

[PATCH v10 03/25] mm: Cleanup __put_devmap_managed_page() vs ->page_free()

2019-12-12 Thread John Hubbard
From: Dan Williams After the removal of the device-public infrastructure there are only 2 ->page_free() call backs in the kernel. One of those is a device-private callback in the nouveau driver, the other is a generic wakeup needed in the DAX case. In the hopes that all ->page_free() callbacks

[PATCH v10 20/25] powerpc: book3s64: convert to pin_user_pages() and put_user_page()

2019-12-12 Thread John Hubbard
1. Convert from get_user_pages() to pin_user_pages(). 2. As required by pin_user_pages(), release these pages via put_user_page(). Reviewed-by: Jan Kara Signed-off-by: John Hubbard --- arch/powerpc/mm/book3s64/iommu_api.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff

[PATCH v10 00/25] mm/gup: track dma-pinned pages: FOLL_PIN

2019-12-12 Thread John Hubbard
Hi, This implements an API naming change (put_user_page*() --> unpin_user_page*()), and also implements tracking of FOLL_PIN pages. It extends that tracking to a few select subsystems. More subsystems will be added in follow up work. Christoph Hellwig, a point of interest: a) I've moved the

[PATCH v10 14/25] drm/via: set FOLL_PIN via pin_user_pages_fast()

2019-12-12 Thread John Hubbard
Convert drm/via to use the new pin_user_pages_fast() call, which sets FOLL_PIN. Setting FOLL_PIN is now required for code that requires tracking of pinned pages, and therefore for any code that calls put_user_page(). In partial anticipation of this work, the drm/via driver was already calling

Re: [PATCH] drm/dp_mst: add missed nv50_outp_release in nv50_msto_disable

2019-12-12 Thread Jani Nikula
On Fri, 06 Dec 2019, Chuhong Yuan wrote: > nv50_msto_disable() does not call nv50_outp_release() to match > nv50_outp_acquire() like other disable(). > Add the missed call to fix it. The subject prefix "drm/dp_mst" implies drm core change, but this is about nouveau. Please fix. BR, Jani. > >

Re: [6/8] drm/atomic: convert to drm device based logging

2019-12-12 Thread james qian wang (Arm Technology China)
On Tue, Dec 10, 2019 at 02:30:48PM +0200, Jani Nikula wrote: > Prefer drm_dbg_atomic(). > > Signed-off-by: Jani Nikula > --- > drivers/gpu/drm/drm_agpsupport.c | 4 +- > drivers/gpu/drm/drm_atomic.c | 187 +-- > 2 files changed, 102 insertions(+), 89

<    1   2