aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-01-30drm/nouveau: fix lock unbalance in nouveau_crtc_page_flipMaarten Lankhorst1-1/+1
Fixes a regression introduced by d5c1e84b3a130f0 "drm/nouveau: hold mutex while syncing to kernel channel". Cc: [email protected] #3.13 Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-01-30drm/nouveau: implement hooks for needed for drm vblank timestamping supportBen Skeggs3-0/+86
Signed-off-by: Ben Skeggs <[email protected]>
2014-01-30drm/nouveau/disp: add a method to fetch info needed by drm vblank timestampingBen Skeggs10-7/+146
Signed-off-by: Ben Skeggs <[email protected]>
2014-01-30drm/nv50: fill in crtc mode struct members from crtc_mode_fixupBen Skeggs1-0/+1
The DRM uses the adjusted mode to calculate constants for vblank timestamping. Our encoder mode_fixup (usually) replaces this data with our backend mode information, which doesn't have the needed data filled in already. Reported-by: Mario Kleiner [email protected] Signed-off-by: Ben Skeggs <[email protected]>
2014-01-29drm/radeon/dce8: workaround for atom BlankCrtc tableAlex Deucher1-0/+20
Some DCE8 boards have a funky BlankCrtc table that results in a timeout when trying to blank the display. The timeout is harmless (all operations needed from the table are complete), but wastes time and is confusing to users so work around it. bug: https://bugs.freedesktop.org/show_bug.cgi?id=73420 Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2014-01-29drm/radeon/DCE4+: clear bios scratch dpms bit (v2)Alex Deucher1-0/+4
The BlankCrtc table in some DCE8 boards has some logic shortcuts for the vbios when this bit is set. Clear it for driver use. v2: fix typo Bug: https://bugs.freedesktop.org/show_bug.cgi?id=73420 Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2014-01-29drm/radeon: set si_notify_smc_display_change properlyAlex Deucher1-3/+2
This is effectively a revert of 4573388c92ee60b4ed72b8d95b73df861189988c. Forcing a display active when there is none causes problems with dpm on some SI boards which results in improperly initialized dpm state and boot failures on some boards. As for the bug commit 4573388c92ee tried to address, one can manually force the state to high for better performance when using the card as a headless compute node until a better fix is developed. bugs: https://bugs.freedesktop.org/show_bug.cgi?id=73788 https://bugs.freedesktop.org/show_bug.cgi?id=69395 Signed-off-by: Alex Deucher <[email protected]> cc: [email protected]
2014-01-29drm/radeon: fix DAC interrupt handling on DCE5+Alex Deucher3-4/+4
DCE5 and newer hardware only has 1 DAC. Use the correct offset. This may fix display problems on certain board configurations. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2014-01-29drm/radeon: clean up active vram sizingAlex Deucher8-12/+37
If we are not able to properly initialize one of the gpu engines for buffer paging, we limit vram to the size of the cpu visible aperture. We generally either use the gfx or dma engine to do this. Clean up the size limiting code to only adjust the size based on what ring is selected for buffer paging rather than making assumptions about which engine is selected for paging. Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
2014-01-29drm/radeon: skip async dma init on r6xxAlex Deucher2-23/+6
The hw is buggy and it's not currently used, but it's currently still initialized by the driver. Skip the init. Skipping init also seems to improve stability with dpm on some r6xx asics. bug: https://bugs.freedesktop.org/show_bug.cgi?id=66963 Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
2014-01-29drm/radeon/runpm: don't runtime suspend non-PX cardsAlex Deucher1-0/+6
Prevent runtime suspend of non-PX GPUs. Runtime suspend is not what we want in those cases. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2014-01-29drm/radeon: add ring to fence trace functionsChristian König2-12/+15
Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-01-29drm/radeon: add missing trace pointChristian König1-0/+1
Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-01-29drm/radeon: fix VMID use trackingChristian König2-1/+9
Otherwise we allocate a new VMID on nearly every submit. Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): cleanup and minor changesRoman Volkov3-33/+11
Remove old SPI control functions, change anti-pop init sequence, remove some garbage from structures. The 'Apply' functions must be called at the mixer initialization, otherwise mixer settings sometimes will not be applied at startup. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): modify high-pass filter controlRoman Volkov1-2/+6
Change the 'put' function of the high-pass filter control to use the new SPI functions. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): modify input select functionsRoman Volkov2-25/+30
First of all, we should not touch the GPIOs. They are not for selecting the capture source, but they seems just enable the whole audio input curcuit. The 'put' function calls the 'apply' functions to change register values. Change the order of capture sources. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): modify capture volume functionsRoman Volkov2-8/+26
Modify the input_vol_* functions to use the new SPI routines, There is a new applying function that will be called when the capture source changed. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): use headphone volume controlRoman Volkov1-32/+83
I tried both variants: volume control and impedance selector. In the first case one minus is that we can't change the volume of multichannel output without additional software volume control. However, I am using this variant for the last three months and this seems good. All multichannel speaker systems have internal amplifier with the volume control included, but not all headphones have this regulator. In the second case, my software volume control does not save the value after reboot. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): modify playback output selectRoman Volkov3-33/+47
Change the order of elements in the output select control. This will reduce the number of relay switches. Change 'put' function to call the oxygen_update_dac_routing() function. Otherwise multichannel playback does not work. Also there is a new function to apply settings, this prevents from duplicating the code. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): capture from I2S channel 1, not 2Roman Volkov1-1/+1
Actually CS4245 connected to the I2S channel 1 for capture, not channel 2. Otherwise capturing and playback does not work for CS4245. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): move the mixer code into another fileRoman Volkov4-364/+411
Moving the mixer code away makes things easier. The mixer will control the driver, so the functions of the driver need to be non-static. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: modify CS4245 register dumping functionRoman Volkov1-3/+4
Change the function to read the data from the new shadow buffer. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: modify adjust_dg_dac_routing functionRoman Volkov2-24/+22
When selecting the audio output destinations (headphones, FP headphones, multichannel output), the channel routing should be changed depending on what destination selected. Also unnecessary I2S channels are digitally muted. This function called when the user selects the destination in the ALSA mixer. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): modify DAC/ADC parameters functionRoman Volkov1-20/+38
When selecting the audio sample rate for CS4245, the MCLK divider should also be changed. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): modify initialization functionsRoman Volkov2-65/+42
Change CS4245 initialization: different sequence and GPIO values, according to datasheets and reverse-engineering information. Change cleanup/resume/suspend functions, since they use initialization. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: Xonar DG(X): add new CS4245 SPI functionsRoman Volkov3-4/+73
Add the new SPI write and read functions. The SPI read function is used for creating initial registers dump and may be used for debugging purposes. SPI operations are cached, so there is a new function to manage the cache (shadow). I have to remove the shift from the CS4245_SPI_* constants, since when we are performing the reading, we need to shift by 8 instead of 16. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: additional definitions for the Xonar DG/DGX cardRoman Volkov2-14/+23
Add additional constants to the xonar_dg.h file: capture and playback sources. Move GPIO_* constants and the dg struct to the header file from the xonar_dg.c file. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: change description of the xonar_dg.c fileRoman Volkov1-5/+13
Add some additional information in comments and my copyright. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: export oxygen_update_dac_routing symbolRoman Volkov1-0/+1
When the user switches the output from stereo to multichannel or vice versa, the driver needs to update the channel routing. Instead of creating additional subroutines, I better export existing oxygen_update_dac_routing symbol from the oxygen mixer and call this function. It calls model.adjust_dac_routing() and my function does the work. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: add mute mask for the OXYGEN_PLAY_ROUTING registerRoman Volkov1-0/+1
The Xonar DG/DGX driver needs this mask to mute unnecessary channels. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: modify the SPI writing functionRoman Volkov2-12/+7
Modify the oxygen_write_spi() function to use the newly introduced oxygen_wait_spi() function. Change return value from void to int, so it can return error codes. Older drivers just ignore that return value, new drivers can check this value. We need to wait AFTER initiating the SPI transaction, otherwise read operation will not work. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29ALSA: oxygen: add the separate SPI waiting functionRoman Volkov1-0/+18
The oxygen_wait_spi() function now performs waiting when the SPI bus completes a transaction. Introduce the timeout error checking and increase timeout to 200 from 40. Signed-off-by: Roman Volkov <[email protected]> Signed-off-by: Clemens Ladisch <[email protected]>
2014-01-29Update Jean Delvare's e-mail addressJean Delvare78-120/+118
Signed-off-by: Jean Delvare <[email protected]>
2014-01-29hwmon: (it87) Print proper names for the IT8771E and IT8772EJean Delvare1-0/+1
The driver prints IT8771F and IT8772F instead of IT8771E and IT8772E respectively when the driver is loaded. This is a cosmetic only bug but let's fix it. Signed-off-by: Jean Delvare <[email protected]>
2014-01-29hwmon: (it87) Add support for the ITE IT8603ERudolf Marek3-28/+106
Add support for IT8603E. This closes bug #57861: https://bugzilla.kernel.org/show_bug.cgi?id=57861 [JD: Fixes and clean-ups.] Signed-off-by: Rudolf Marek <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-01-29Merge branch 'kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-queuePaolo Bonzini42-1066/+1564
Conflicts: arch/powerpc/kvm/book3s_hv_rmhandlers.S arch/powerpc/kvm/booke.c
2014-01-29NFSv4.1: CleanupTrond Myklebust1-4/+2
It is now completely safe to call nfs41_sequence_free_slot with a NULL slot. Signed-off-by: Trond Myklebust <[email protected]>
2014-01-29NFSv4.1: Clean up nfs41_sequence_doneTrond Myklebust1-11/+8
Move the test for res->sr_slot == NULL out of the nfs41_sequence_free_slot helper and into the main function for efficiency. Signed-off-by: Trond Myklebust <[email protected]>
2014-01-29NFSv4: Fix a slot leak in nfs40_sequence_doneTrond Myklebust1-1/+1
The check for whether or not we sent an RPC call in nfs40_sequence_done is insufficient to decide whether or not we are holding a session slot, and thus should not be used to decide when to free that slot. This patch replaces the RPC_WAS_SENT() test with the correct test for whether or not slot == NULL. Cc: Chuck Lever <[email protected]> Cc: [email protected] # 3.12+ Signed-off-by: Trond Myklebust <[email protected]>
2014-01-29x86, kvm: correctly access the KVM_CPUID_FEATURES leaf at 0x40000101Paolo Bonzini2-5/+11
When Hyper-V hypervisor leaves are present, KVM must relocate its own leaves at 0x40000100, because Windows does not look for Hyper-V leaves at indices other than 0x40000000. In this case, the KVM features are at 0x40000101, but the old code would always look at 0x40000001. Fix by using kvm_cpuid_base(). This also requires making the function non-inline, since kvm_cpuid_base() is static. Fixes: 1085ba7f552d84aa8ac0ae903fa8d0cc2ff9f79d Cc: [email protected] Cc: [email protected] Signed-off-by: Paolo Bonzini <[email protected]>
2014-01-29x86, kvm: cache the base of the KVM cpuid leavesPaolo Bonzini2-16/+33
It is unnecessary to go through hypervisor_cpuid_base every time a leaf is found (which will be every time a feature is requested after the next patch). Fixes: 1085ba7f552d84aa8ac0ae903fa8d0cc2ff9f79d Cc: [email protected] Cc: [email protected] Signed-off-by: Paolo Bonzini <[email protected]>
2014-01-29kvm: x86: move KVM_CAP_HYPERV_TIME outside #ifdefPaolo Bonzini1-1/+1
Self explanatory. Reported-by: Radim Krcmar <[email protected]> Cc: Vadim Rozenfeld <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
2014-01-29Merge commit 'f4bcd8ccddb02833340652e9f46f5127828eb79d' into x86/buildH. Peter Anvin1223-13655/+31193
Bring in upstream merge of x86/kaslr for future patches. Signed-off-by: H. Peter Anvin <[email protected]>
2014-01-29NFSv4.1 free slot before resending I/O to MDSAndy Adamson3-3/+11
Fix a dynamic session slot leak where a slot is preallocated and I/O is resent through the MDS. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2014-01-29NVMe: Correct uses of INIT_WORKMatthew Wilcox1-4/+5
We need to initialise the work_struct when we initialise the rest of the struct nvme_dev, otherwise we'll hit a lockdep warning when we remove the device. Use PREPARE_WORK to change the function pointer instead of INIT_WORK. Signed-off-by: Matthew Wilcox <[email protected]>
2014-01-29ALSA: hda - Add parameter for dumping processing coefficientsDavid Henningsson2-2/+33
Processing coefficients are often a vital part of the codec's configuration, so dumping them can be important. However, because they are undocumented and secret, we do not want to enable this for all codecs by default. Therefore instead add this as a debugging parameter. I have prepared for codecs that want to enable this by default by the extra dump_coef bitfield, but unsure if we want to do that as long as the (unlikely, but still) race remains. Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2014-01-29xtensa: fixup simdisk driver to work with immutable bio_vecsJens Axboe1-7/+7
Geert reported: arch/xtensa/platforms/iss/simdisk.c:108:23: error: 'struct bio' has no member named 'bi_sector' arch/xtensa/platforms/iss/simdisk.c:110:2: error: incompatible types when assigning to type 'int' from type 'struct bvec_iter' arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bv_len' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union make[2]: *** [arch/xtensa/platforms/iss/simdisk.o] Error 1 Fixup the usage of bio_for_each_segment(). Also fix wrong use of __bio_kunmap_atomic() - it needs the mapped buffer passed in, not the originally mapped page. Reported-by: Geert Uytterhoeven <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2014-01-29Btrfs: fix spin_unlock in check_ref_cleanupChris Mason1-1/+3
Our goto out should have gone a little farther. Signed-off-by: Chris Mason <[email protected]>
2014-01-29Btrfs: setup inode location during btrfs_init_inode_lockedChris Mason1-9/+9
We have a race during inode init because the BTRFS_I(inode)->location is setup after the inode hash table lock is dropped. btrfs_find_actor uses the location field, so our search might not find an existing inode in the hash table if we race with the inode init code. This commit changes things to setup the location field sooner. Also the find actor now uses only the location objectid to match inodes. For inode hashing, we just need a unique and stable test, it doesn't have to reflect the inode numbers we show to userland. Signed-off-by: Chris Mason <[email protected]> CC: [email protected]