- 13 1月, 2015 1 次提交
-
-
由 Dave Airlie 提交于
Daniel merged two things in 72a36970, but he merged this code twice, Dan's static checker spotted it. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 10 1月, 2015 18 次提交
-
-
由 Oded Gabbay 提交于
Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
This patch change the calls throughout the amdkfd driver from the old kfd-->kgd interface to the new kfd gtt sa inside amdkfd v2: change the new call in sdma code that appeared because of the sdma feature Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
This patch changes the calls to allocate the gart memory for amdkfd from the old interface (radeon_sa) to the new one (kfd_gtt_sa) The new gart sub-allocator is initialized with chunk size equal to 512 bytes. This is because the KV MQD is 512 Bytes and most of the sub-allocations are MQDs. Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
This patch makes the gart's buffer size calculation more accurate. This buffer is needed per GPU. It takes into account maximum number of MQDs, runlist packets, kernel queues and reserves 512KB for other misc allocations. The total size is just shy of 4MB, for 32 processes and 128 queues per process, which are the defaults for amdkfd kernel module parameters. Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
This patch adds new kfd gtt sub-allocator functions that service the amdkfd driver when it wants to use gtt memory. The sub-allocator uses a bitmap to handle the memory area that was transferred to it during init. It divides the memory area into chunks, according to chunk size parameter. The allocation function will allocate contiguous chunks from that memory area, according to the requested size. If the requested size is smaller than the chunk size, a single chunk will be allocated. v2: Do some more verifications on parameters that are passed into kfd_gtt_sa_init() Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
This patch adds new fields to kfd_dev struct that are necessary for the new kfd gtt sa module Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
This patch adds the implementation of the gtt interface functions. The allocate function will allocate a single bo, pin and map it to kernel memory. It will return the gpu address and cpu ptr as arguments. v2: The bulk of the allocations in the GART is for MQDs. MQDs represent active user-mode queues, which are on the current runlist. It is important to remember that active queues doesn't necessarily mean scheduled/running queues, especially if there is over-subscription of queues or more than a single HSA process. Because the scheduling of the user-mode queues is done by the CP firmware, amdkfd doesn't have any indication if the queue is scheduled or not. If the CP will try to schedule a queue, and its MQD is not present, this will probably stuck the CP permanently, as it will load garbage from the GART (the address of the MQD is given to the CP inside the runlist packet). In addition, there are a couple of small allocations which also should always be pinned - runlist packets (2 packets) and HPDs. runlist packets can be quite large, depending on number of processes and queues. This new allocate function represents the short/mid-term solution of limiting the total memory consumption to around 4MB by default. The long-term solution is to create a mechanism through which radeon/ttm can ask amdkfd to clear GART/VRAM memory due to memory pressure. Then, amdkfd will preempt the running queues and wait until the memory pressure is over. After that, amdkfd will reschedule the queues. Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Oded Gabbay 提交于
This patch adds two new functions to the kfd-->kgd interface: init_gtt_mem_allocation, which allocate a large enough buffer on the amdkfd needs, such as mqds, hpds, kernel queue, fence and runlists. This function is only called once per GPU device. The size of the allocated buffer is based on the maximum number of HSA processes and maximum number of queues per HSA process (two amdkfd kernel module parameters). free_gtt_mem, which frees a buffer that was allocated on the gart aperture. Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlexey Skidanov <Alexey.skidanov@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Ben Goz 提交于
This patch adds to radeon the enablement of sdma preemption. This is needed to support HWS of SDMA user-mode queues. Signed-off-by: NBen Goz <ben.goz@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Ben Goz 提交于
This patch passes the correct queue type to pqm_create_queue() instead of a fixed KFD_QUEUE_TYPE_COMPUTE type. Signed-off-by: NBen Goz <ben.goz@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Ben Goz 提交于
This patch adds a check to the create queue ioctl path, which identifies SDMA queue type that is sent by userspace. Signed-off-by: NBen Goz <ben.goz@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Ben Goz 提交于
This patch adds support for SDMA user-mode queues to the QCM - the Queue management system that manages queues-per-device and queues-per-process. v2: Remove calls to interface function that initializes sdma engines. v3: Use the new names of some of the defines. Signed-off-by: NBen Goz <ben.goz@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Ben Goz 提交于
This patch adds support for SDMA mqd operations: - init_mqd_sdma - uninit_mqd_sdma - load_mqd_sdma - update_mqd_sdma - destroy_mqd_sdma - is_occupied_sdma It also adds SDMA queue information to some private structures of amdkfd. v3: Use the new names of some of the defines. Signed-off-by: NBen Goz <ben.goz@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Ben Goz 提交于
This patch implements the new SDMA interface functions. It also adds defines and structures related to SDMA registers. v2: Removed init_sdma_engines() from interface. Initialization is done in radeon. v3: - Removed unused defines. - Added SDMA_ prefix to defines that didn't have them. Signed-off-by: NBen Goz <ben.goz@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Ben Goz 提交于
This patch adds three new functions to the kfd2kgd interface: - hqd_sdma_load() - Loads SDMA mqd to a H/W SDMA hqd slot. Used only in no HWS mode. - hqd_sdma_is_occupied() - Checks if an SDMA hqd slot is occupied. Used only in no HWS mode. - hqd_sdma_destroy() - Destructs and preempts the SDMA queue assigned to that SDMA hqd slot. Used only in no HWS mode. These functions are needed to support SDMA queues scheduling when using no HWS mode (used for debug or bring-up). v2: Removed init_sdma_engines() from interface. Initialization is done in radeon. Signed-off-by: NBen Goz <ben.goz@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Alexey Skidanov 提交于
This patch splits the current kfd_get_process_device_data() to two functions, one that specifically creates a pdd and another one which just do lookup. This is done to enhance the readability and maintainability of the code. Signed-off-by: NAlexey Skidanov <Alexey.Skidanov@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
-
由 Alexey Skidanov 提交于
This patch adds the number of watch points to the node capabilities in the topology module Signed-off-by: NAlexey Skidanov <Alexey.Skidanov@amd.com> Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
-
- 05 1月, 2015 8 次提交
-
-
由 Daniel Vetter 提交于
Atomic doesn't really work without universal planes anyway. But make sure that evil userspace doesn't pull the kernel over the table because we didn't consider a cornercase that just doesn't make sense, just for safety. v2: Just force ->universal_planes to the same value to avoid imposing restrictions on userspace. Cc: Rob Clark <robdclark@gmail.com> Reviewed-by: NRob Clark <robdclark@gmail.com> Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
-
由 Daniel Vetter 提交于
This is just a bit fallout from patch polishing and moving the get_prop logic fully into the core: - Drop EXPORT_SYMBOL and make the helpers static. - Drop kerneldoc since not used by drivers. - Move the cross-file function declarations only used by drm.ko internally to an internal header. v2: keep the gist of the comments, requested by Rob. Cc: Rob Clark <robdclark@gmail.com> Reviewed-by: NRob Clark <robdclark@gmail.com> Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
-
由 Rob Clark 提交于
The atomic modeset ioctl can be used to push any number of new values for object properties. The driver can then check the full device configuration as single unit, and try to apply the changes atomically. The ioctl simply takes a list of object IDs and property IDs and their values. Originally based on a patch from Ville Syrjälä, although it has mutated (mutilated?) enough since then that you probably shouldn't blame it on him ;-) The atomic support is hidden behind the DRM_CLIENT_CAP_ATOMIC cap (to protect legacy userspace) and drm.atomic module param (for now). v2: Check for file_priv->atomic to make sure we only allow userspace in-the-know to use atomic. Signed-off-by: NRob Clark <robdclark@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Rob Clark 提交于
Expose the core connector state as properties so it can be updated via atomic ioctl. Signed-off-by: NRob Clark <robdclark@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Rob Clark 提交于
Expose the core plane state as properties, so they can be updated via atomic ioctl. v2: atomic property flag Signed-off-by: NRob Clark <robdclark@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Rob Clark 提交于
Getting ready to add a lot more standard properties for atomic. Signed-off-by: NRob Clark <robdclark@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> [danvet: Realign function paramaters where the lines shrunk massively.] Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Rob Clark 提交于
Add functions to check core plane/crtc state. v2: comments, int-overflow checks, call from core rather than helpers to be sure drivers can't find a way to bypass core checks Signed-off-by: NRob Clark <robdclark@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Rob Clark 提交于
Once a driver is using atomic helpers for modeset, the next step is to switch over to atomic properties. To do this, make sure that any modeset objects have their ->atomic_{get,set}_property() vfuncs suitably populated if they have custom properties (you did already remember to plug in atomic-helper func for the legacy ->set_property() vfuncs, right?), and then set DRIVER_ATOMIC bit in driver_features flag. A new cap is introduced, DRM_CLIENT_CAP_ATOMIC, for the purposes of shielding legacy userspace from atomic properties. Mostly for the benefit of legacy DDX drivers that do silly things like getting/setting each property at startup (since some of the new atomic properties will be able to trigger modeset). Signed-off-by: NRob Clark <robdclark@gmail.com> [danvet: Squash in fixup patch to check for DRM_MODE_PROP_ATOMIC instaed of the CAP define when filtering properties. Reported by Tvrtko Uruslin, acked by Rob.] Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
- 01 1月, 2015 1 次提交
-
-
由 Linus Torvalds 提交于
This reverts commit 9d469d03. It breaks the Chromebook Pixel touchpad (and touchscreen). Reported-by: NDirk Hohndel <dirk@hohndel.org> Bisected-by: NLinus Torvalds <torvalds@linux-foundation.org> Cc: Nick Dyer <nick.dyer@itdev.co.uk> Cc: Benson Leung <bleung@chromium.org> Cc: Yufeng Shen <miletus@chromium.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: stable@vger.kernel.org # v3.16+ Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 31 12月, 2014 1 次提交
-
-
由 Alan Stern 提交于
Commit ac61d195 (scsi: set correct completion code in scsi_send_eh_cmnd()) introduced a bug. It changed the stored return value from a queuecommand call, but it didn't take into account that the return value was used again later on. This patch fixes the bug by changing the later usage. There is a big comment in the middle of scsi_send_eh_cmnd() which does a good job of explaining how the routine works. But it mentions a "rtn = FAILURE" value that doesn't exist in the code. This patch adjusts the code to match the comment (I assume the comment is right and the code is wrong). This fixes Bugzilla #88341. Signed-off-by: NAlan Stern <stern@rowland.harvard.edu> Reported-by: NАндрей Аладьев <aladjev.andrew@gmail.com> Tested-by: NАндрей Аладьев <aladjev.andrew@gmail.com> Fixes: ac61d195Acked-by: NHannes Reinecke <hare@suse.de> Cc: <stable@vger.kernel.org> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 30 12月, 2014 4 次提交
-
-
When I/O is aborted by mid-layer, fnic FW will complete the I/O before completing the abort task. In some cases abort request is completed before the I/O, which could lead to inconsistent driver and firmware states. In this case firmware reset would clear the inconsistent state. Signed-off-by: NAnil Chintalapati <achintal@cisco.com> Signed-off-by: NSesidhar Baddela <sebaddel@cisco.com> Signed-off-by: NHiral Shah <hishah@cisco.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Martin K. Petersen 提交于
7985090a changed the discard heuristics to give preference to the WRITE SAME commands that (unlike UNMAP) guarantee deterministic results. Ming Lei discovered that QEMU SCSI's WRITE SAME implementation internally relied on limits that were only communicated for the UNMAP case. And therefore discard commands backed by WRITE SAME would fail. Tweak the heuristics so we still pick UNMAP in the LBPRZ=0 case and only prefer the WRITE SAME variants if the device has the LBPRZ flag set. Reported-by: NMing Lei <ming.lei@canonical.com> Tested-by: NMing Lei <ming.lei@canonical.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com> Acked-by: NPaolo Bonzini <pbonzini@redhat.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Tomi Valkeinen 提交于
After the commit ef691ff4 (OMAPDSS: DT: Get source endpoint by matching reg-id) we look for the SDI output using the port number. However, the SDI driver doesn't set the port number, which causes the SDI display to not initialize. Fix this by setting the SDI port number to 1. We use a hardcoded value, as SDI was used only on OMAP3 and it's always port number 1 there. Reported-by: NAaro Koskinen <aaro.koskinen@iki.fi> Reported-by: NPavel Machek <pavel@ucw.cz> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
fb_deferred_io_fsync() returns the value of schedule_delayed_work() as an error code, but schedule_delayed_work() does not return an error. It returns true/false depending on whether the work was already queued. Fix this by ignoring the return value of schedule_delayed_work(). Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com> Cc: stable@vger.kernel.org
-
- 29 12月, 2014 5 次提交
-
-
由 Alexandre Belloni 提交于
mmc_select_bus_width() will try to switch to MMC_BUS_WIDTH_4 even if MMC_CAP_4_BIT_DATA and MMC_CAP_8_BIT_DATA are not set in host->caps. Return as soon as possible when those flags are not set Fixes: 577fb131 (mmc: rework selection of bus speed mode) Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Cc: <stable@vger.kernel.org> # 3.17 Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Michael S. Tsirkin 提交于
virtio 1.0 only requires used address to be 4 byte aligned, vhost required 8 bytes (size of vring_used_elem). Fix up vhost to match that. Additionally, while vhost correctly requires 8 byte alignment for log, it's unconnected to used ring: it's a consequence that log has u64 entries. Tweak code to make that clearer. Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
-
由 Tomi Valkeinen 提交于
If the probe of an fb driver has been deferred due to missing dependencies, and the probe is later ran when a module is loaded, the fbdev framework will try to find a logo to use. However, the logos are __initdata, and have already been freed. This causes sometimes page faults, if the logo memory is not mapped, sometimes other random crashes as the logo data is invalid, and sometimes nothing, if the fbdev decides to reject the logo (e.g. the random value depicting the logo's height is too big). This patch adds a late_initcall function to mark the logos as freed. In reality the logos are freed later, and fbdev probe may be ran between this late_initcall and the freeing of the logos. In that case we will miss drawing the logo, even if it would be possible. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com> Cc: stable@vger.kernel.org
-
由 Dan Carpenter 提交于
The regulator_disable() doesn't accept NULL pointers. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
HDMI hardware parameters structs for OMAP4 and OMAP5 contained two initializers for 'clkdco_max'. The first one was a remnant with wrong value. Remove the extra initializer entries. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
- 28 12月, 2014 1 次提交
-
-
由 Nicholas Mc Guire 提交于
The successive init_completion calls should be reinit_completion calls. Signed-off-by: NNicholas Mc Guire <der.herr@hofr.at> Acked-by: NHelge Deller <deller@gmx.de> Tested-by: NHelge Deller <deller@gmx.de> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 27 12月, 2014 1 次提交
-
-
由 Jia-Ju Bai 提交于
For linux-3.18.0 The driver lacks pci_disable_device in error handling code of ne2k_pci_init_one, so the device enabled by pci_enable_device is not disabled when errors occur. This patch fixes this problem. Signed-off-by: NJia-Ju Bai <baijiaju1990@163.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-