Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #89

Merged
merged 168 commits into from
Aug 11, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
653cdc1
USB: qcserial/option: make AT URCs work for Sierra Wireless MC7305/MC…
Jul 14, 2015
aeec6cd
ARC/time: Migrate to new 'set-state' interface
vireshk Jul 16, 2015
d05a76a
ARCv2: add knob for DIV_REV in Kconfig
abrodkin Jul 16, 2015
6da3700
USB: qcserial: Add support for Dell Wireless 5809e 4G Modem
pief Jul 20, 2015
21481f2
ARCv2: lib: memcpy: Missing PREFETCHW
vineetgarc Jul 20, 2015
262137b
ARCv2: lib: memset: Don't assume 64-bit load/stores
vineetgarc Jul 20, 2015
2f01a33
usb: chipidea: ehci_init_driver is intended to call one time
Jul 21, 2015
450ed0d
ARCv2: allow selection of page size for MMUv4
abrodkin Jul 16, 2015
1115092
mfd: arizona: Fix race between runtime suspend and IRQs
charleskeepax Jun 14, 2015
72e4316
mfd: arizona: Fix initialisation of the PM runtime
charleskeepax Jun 14, 2015
d12bbcd
platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM
Jun 25, 2015
fb9caee
mfd: Remove MFD_CROS_EC_SPI depends on OF
Jun 25, 2015
bffc449
ASoC: cs4265: Fix setting dai format for Left/Right Justified
AxelLin Jul 19, 2015
02c3b4c
usb: gadget: bdc: fix a driver crash on disconnect
alcooper Jul 24, 2015
c41b776
usb: gadget: f_uac2: fix calculation of uac2->p_interval
Jul 27, 2015
774cf72
usb: gadget: f_hid: actually limit the number of instances
Jul 24, 2015
4248bd7
usb: gadget: f_printer: actually limit the number of instances
Jul 24, 2015
a14aad0
Merge tag 'usb-ci-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/ker…
gregkh Jul 27, 2015
84b6b02
Merge tag 'fixes-for-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/…
gregkh Jul 27, 2015
7447223
USB: sierra: add 1199:68AB device ID
dirkbehme Jul 27, 2015
e350f80
extcon: palmas: Fix NULL pointer error
chanwoochoi Jun 11, 2015
4a8e70f
HID: uclogic: fix limit in uclogic_tablet_enable()
Jul 29, 2015
4b563ea
ASoC: Intel: haswell: fix initialize 'NULL device *' issue
keyonjie Jul 28, 2015
45f503d
ASoC: Intel: sst_byt: fix initialize 'NULL device *' issue
keyonjie Jul 28, 2015
586b7cc
KVM: s390: Fix hang VCPU hang/loop regression
borntraeger Jul 28, 2015
7307f70
Merge tag 'kvm-s390-master-20150730' of git://git.kernel.org/pub/scm/…
bonzini Jul 30, 2015
e34d572
Merge tag 'usb-serial-4.2-rc5' of git://git.kernel.org/pub/scm/linux/…
gregkh Jul 30, 2015
be052cc
extcon: Fix hang and extcon_get/set_cable_state().
Jul 7, 2015
f7a8981
extcon: Fix extcon_cable_get_state() from getting old state after not…
Jul 6, 2015
40c3ef9
staging: comedi: das1800: add missing break in switch
bigguiness Jul 27, 2015
eaf7e98
Merge tag 'extcon-fixes-for-4.2-rc5' of git://git.kernel.org/pub/scm/…
gregkh Aug 1, 2015
7167bf8
phy-sun4i-usb: Add missing EXPORT_SYMBOL_GPL for sun4i_usb_phy_set_sq…
jwrdegoede Jul 31, 2015
c934b36
phy: ti-pipe3: i783 workaround for SATA lockup after dpll unlock/relock
Jul 17, 2015
528464e
thermal: remove dangling 'weight_attr' device file
vireshk Jul 23, 2015
d5f8310
thermal: power_allocator: trace the real requested power
Jul 3, 2015
5f09a5c
thermal: exynos: Disable the regulator on probe failure
krzk Jun 8, 2015
f87e6bd
thermal: exynos: Add the dependency of CONFIG_THERMAL_OF instead of C…
chanwoochoi Jul 2, 2015
3c19d23
thermal: exynos: Remove unused code related to platform_data on probe()
chanwoochoi Jul 2, 2015
9b2b6f7
CPUFREQ: Loongson2: Fix broken build due to incorrect include.
ralfbaechle Jul 19, 2015
d3557d9
MIPS: Fix build with CONFIG_OF=y for non OF-enabled targets
KanjiMonster Jul 19, 2015
1d62d73
MIPS: Fix sched_getaffinity with MT FPAFF enabled
Jul 18, 2015
531a6d5
MIPS: unaligned: Fix build error on big endian R6 kernels
jcowgill Jun 23, 2015
106eccb
MIPS: Malta: Don't reinitialise RTC
Jul 17, 2015
e070dab
MIPS: Handle page faults of executable but unreadable pages correctly.
ralfbaechle Jul 23, 2015
55fdcb2
MIPS: Partially disable RIXI support.
ralfbaechle Jul 23, 2015
4ace613
MIPS: SMP: Don't increment irq_count multiple times for call function…
Jul 24, 2015
55c723e
MIPS: do_mcheck: Fix kernel code dump with EVA
Jul 27, 2015
1e77863
MIPS: show_stack: Fix stack trace with EVA
Jul 27, 2015
0cb0985
MIPS: Export get_c0_perfcount_int()
Jul 23, 2015
3592bb0
MIPS: BMIPS: Delete unused Kconfig symbol
Apr 28, 2015
8ec7cfc
ALSA: oxygen: Fix logical-not-parentheses warning
tomerb Aug 2, 2015
247bfb6
Revert "MIPS: BCM63xx: Provide a plat_post_dma_flush hook"
ffainelli Jul 29, 2015
3aff47c
MIPS: Flush RPS on kernel entry with EVA
Jul 31, 2015
a450475
MIPS: Replace add and sub instructions in relocate_kernel.S with addiu
jcowgill Jun 17, 2015
e13c42e
ARCv2: Fix the peripheral address space detection
vineetgarc Aug 3, 2015
c93e64e
usb: udc: core: add device_del() call to error pathway
AlanStern Jan 16, 2015
6b5e38d
thermal: Drop owner assignment from platform_driver
krzk Jul 10, 2015
8bf93f2
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git…
zhang-rui Aug 3, 2015
a094935
ASoC: rt5645: Fix lost pin setting for DMIC1
Aug 3, 2015
c20bc55
Input: turbografx - fix potential out of bound access
dtor Jul 30, 2015
b6e2654
Input: axp20x-pek - add module alias
wens Aug 3, 2015
073e570
Input: alps - only Dell laptops have separate button bits for v2 dual…
jwrdegoede Aug 3, 2015
0f79fd8
Merge tag 'fixes-for-v4.2-rc6' of git://git.kernel.org/pub/scm/linux/…
gregkh Aug 3, 2015
7895086
xhci: fix off by one error in TRB DMA address boundary check
matnyman Aug 3, 2015
ffe5adc
drivers/usb: Delete XHCI command timer if necessary
Aug 3, 2015
1f17124
staging: vt6655: vnt_bss_info_changed check conf->beacon_rate is not …
Aug 2, 2015
bd4aaf8
dm: fix dm_merge_bvec regression on 32 bit systems
snitm Aug 3, 2015
6de7abf
ARCv2: [axs103_smp] Reduce clk for Quad FPGA configs
vineetgarc Aug 3, 2015
f5959cb
Revert "ARCv2: STAR 9000837815 workaround hardware exclusive transact…
vineetgarc Jul 29, 2015
8ac0665
ARC: refactor atomic inline asm operands with symbolic names
vineetgarc Jul 21, 2015
ae7eae9
ARC: LLOCK/SCOND based spin_lock
vineetgarc Jul 14, 2015
69cbe63
ARC: LLOCK/SCOND based rwlock
vineetgarc Jul 16, 2015
e78fdfe
ARCv2: spinlock/rwlock/atomics: Delayed retry of failed SCOND with ex…
vineetgarc Jul 14, 2015
b89aa12
ARCv2: spinlock/rwlock: Reset retry delay when starting a new spin-wa…
vineetgarc Jul 21, 2015
9b06dc9
ALSA: HDA: Fix stream assignment for host in decoupled mode
kpjeeja Aug 4, 2015
5d942ce
ALSA: HDA: Dont check return for snd_hdac_chip_readl
kpjeeja Aug 4, 2015
0621809
HID: hid-input: Fix accessing freed memory during device disconnect
krzk Aug 3, 2015
257d5d9
ARM: dts: dra7: Add syscon-pllreset syscon to SATA PHY
Jul 17, 2015
5406898
ASoC: topology: fix typo in soc_tplg_kcontrol_bind_io()
mengdonglin Aug 4, 2015
aa65fa3
may_follow_link() should use nd->inode
Aug 5, 2015
fb1de5a
staging: lustre: Include unaligned.h instead of access_ok.h
groeck Aug 1, 2015
c85523d
Revert "ALSA: fireworks: add support for AudioFire2 quirk"
takaswie Aug 5, 2015
18f5ed3
ALSA: fireworks/firewire-lib: add support for recent firmware quirk
takaswie Aug 5, 2015
87ce628
ARC: Make pt_regs regs unsigned
vineetgarc Aug 5, 2015
46011e6
MIPS: Make set_pte() SMP safe.
daviddaney Aug 4, 2015
4a6ca1a
drm/i2c: tda998x: fix bad checksum of the HDMI AVI infoframe
moinejf Jul 17, 2015
fc1a812
KVM: MTRR: Use default type for non-MTRR-covered gfn before WARN_ON
awilliam Aug 4, 2015
73851b3
ALSA: hda - one Dell machine needs the headphone white noise fixup
jason77-wang Aug 5, 2015
a4b45b2
hwmon: (dell-smm) Blacklist Dell Studio XPS 8100
pali Jul 30, 2015
1252be9
hwmon: (nct7904) Export I2C module alias information
Jul 30, 2015
de66b38
hwmon: (g762) Export OF module alias information
Jul 30, 2015
4469942
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
torvalds Aug 5, 2015
0a1b6f6
Merge tag 'phy-for-4.2-rc6' of git://git.kernel.org/pub/scm/linux/ker…
gregkh Aug 5, 2015
e661d0a
Input: twl4030-vibra - fix ERROR: Bad of_node_put() warning
Jul 29, 2015
a0e2f50
drm/amdgpu: fix rb setting for CZ
alexdeucher Jul 9, 2015
0fd6429
drm/amdgpu: increment queue when iterating on this variable.
fishilico Aug 1, 2015
351643d
drm/amdgpu: add feature version for RLC and MEC v2
Aug 4, 2015
cfa2104
drm/amdgpu: add feature version for SDMA ucode
Aug 4, 2015
595fd01
drm/amdgpu: set fw_version and feature_version for smu fw loading
Aug 4, 2015
df4198b
virtio-input: reset device and detach unused during remove
jasowang Aug 6, 2015
6dc6db7
ASoC: topology: Add subsequence in topology
Jun 29, 2015
c387995
ASoC: topology: add private data to manifest
Jun 29, 2015
113adf2
Merge tag 'asoc-fix-v4.2-rc3' into asoc-fix-topology
broonie Aug 6, 2015
28a87ee
ASoC: topology: Update TLV support so we can support more TLV types
mengdonglin Aug 5, 2015
cb88498
ASoC: topology: Add ops support to byte controls UAPI
mengdonglin Aug 5, 2015
c7bcf87
ASoC: topology: Add private data type and bump ABI version to 3
lrgirdwo Aug 5, 2015
78be55a
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus
broonie Aug 6, 2015
d00a9e0
Merge remote-tracking branches 'asoc/fix/cs4265', 'asoc/fix/intel' an…
broonie Aug 6, 2015
047fe6e
drm/i915: Allow parsing of variable size child device entries from VBT
Aug 4, 2015
c05f942
btrfs: qgroup: Fix a regression in qgroup reserved space.
Aug 3, 2015
de54b9a
ipc: modify message queue accounting to not take kernel data structur…
mgelde Aug 6, 2015
7ace991
mm, meminit: allow early_pfn_to_nid to be used during runtime
Aug 6, 2015
d3cd131
mm, meminit: replace rwsem with completion
nicstange Aug 6, 2015
4248b0d
fs, file table: reinit files_stat.max_files after deferred memory ini…
Aug 6, 2015
209f751
ocfs2: fix BUG in ocfs2_downconvert_thread_do_work()
josephhz Aug 6, 2015
3c00cb5
signal: fix information leak in copy_siginfo_from_user32
Amanieu Aug 6, 2015
2613502
signal: fix information leak in copy_siginfo_to_user
Amanieu Aug 6, 2015
3ead7c5
signalfd: fix information leak in signalfd_copyinfo
Amanieu Aug 6, 2015
3e810ae
mm/slub: allow merging when SLAB_DEBUG_FREE is set
koct9i Aug 6, 2015
447f6a9
lib/iommu-common.c: do not use 0xffffffffffffffffl for computing alig…
sowminiv Aug 6, 2015
8f2f3eb
fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()
Aug 6, 2015
1889645
kthread: export kthread functions
davidker Aug 6, 2015
32e5a2a
ocfs2: fix shift left overflow
josephhz Aug 6, 2015
e298ff7
mm: initialize hotplugged pages as reserved
gormanm Aug 6, 2015
e1832f2
ipc: use private shmem or hugetlbfs inodes for shm segments.
stephensmalley Aug 6, 2015
a09233f
mm/memory-failure: unlock_page before put_page
Aug 6, 2015
a209ef0
mm/memory-failure: fix race in counting num_poisoned_pages
Aug 6, 2015
98ed2b0
mm/memory-failure: give up error handling for non-tail-refcounted thp
Aug 6, 2015
f4c18e6
mm: check __PG_HWPOISON separately from PAGE_FLAGS_CHECK_AT_*
Aug 6, 2015
4491f71
mm/memory-failure: set PageHWPoison before migrate_pages()
Aug 6, 2015
a50fcb5
writeback: fix initial dirty limit
vwax Aug 6, 2015
ebc90be
Merge branch 'drm-tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/l…
torvalds Aug 7, 2015
a58997e
Merge branch 'drm-fixes-4.2' of git://people.freedesktop.org/~agd5f/l…
torvalds Aug 7, 2015
4492215
sparc64: Fix userspace FPU register corruptions.
davem330 Aug 7, 2015
8664b90
Merge branch 'akpm' (patches from Andrew)
torvalds Aug 7, 2015
49d7c65
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
torvalds Aug 7, 2015
1097163
ARCv2: spinlock/rwlock/atomics: reduce 1 instruction in exponential b…
vineetgarc Aug 7, 2015
6ac7ada
Merge tag 'asoc-fix-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/k…
tiwai Aug 7, 2015
209e4db
drm/vblank: Use u32 consistently for vblank counters
danvet Aug 7, 2015
aa0cd28
dm btree remove: fix bug in remove_one()
jthornber Aug 7, 2015
6b30c73
Input: elantech - add special check for fw_version 0x470f01 touchpad
dusonlin Aug 7, 2015
981dae7
Merge tag 'drm-intel-fixes-2015-08-07' of git://anongit.freedesktop.o…
torvalds Aug 8, 2015
83c2768
Merge tag 'char-misc-4.2-rc6' of git://git.kernel.org/pub/scm/linux/k…
torvalds Aug 8, 2015
9f21a8b
Merge tag 'staging-4.2-rc6' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Aug 8, 2015
d5a8ab4
Merge tag 'usb-4.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Aug 8, 2015
ea8dc1a
Merge tag 'hwmon-for-linus-v4.2-rc6' of git://git.kernel.org/pub/scm/…
torvalds Aug 8, 2015
f094301
Merge tag 'sound-4.2-rc6' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Aug 8, 2015
39171c8
Merge tag 'dm-4.2-fixes-4' of git://git.kernel.org/pub/scm/linux/kern…
torvalds Aug 8, 2015
b3b98a5
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…
torvalds Aug 8, 2015
dd2384a
Merge tag 'arc-v4.2-rc6-fixes' of git://git.kernel.org/pub/scm/linux/…
torvalds Aug 8, 2015
bae1577
Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/gi…
torvalds Aug 9, 2015
af0b315
Merge branch 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Aug 9, 2015
3fbdc37
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…
torvalds Aug 9, 2015
a230e95
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Aug 9, 2015
f7644cb
Linux 4.2-rc6
torvalds Aug 9, 2015
da2e5ae
NTB: Fix ntb_transport out-of-order RX update
Jul 13, 2015
c8650fd
NTB: Fix transport stats for multiple devices
davejiang Jul 13, 2015
da4eb27
NTB: ntb_netdev not covering all receive errors
davejiang Jul 13, 2015
260bee9
NTB: Fix oops in debugfs when transport is half-up
davejiang Jul 13, 2015
8b5a22d
NTB: Schedule to receive on QP link up
Jul 13, 2015
8c9edf6
NTB: Fix zero size or integer overflow in ntb_set_mw
Jul 13, 2015
30a4bb1
NTB: Fix dereference before check
Jul 13, 2015
e15f940
ntb: avoid format string in dev_set_name
kees Jul 24, 2015
a3ca013
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Aug 10, 2015
016a9f5
Merge tag 'ntb-4.2-rc7' of git://github.com/jonmason/ntb
torvalds Aug 10, 2015
2b9bea0
Merge tag 'mfd-fixes-4.2' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Aug 10, 2015
0be0171
HID: wacom: Report correct device resolution when using the wireless …
jigpu Aug 5, 2015
7a834ba
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Aug 10, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Documentation/devicetree/bindings/phy/ti-phy.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ Optional properties:
- id: If there are multiple instance of the same type, in order to
differentiate between each instance "id" can be used (e.g., multi-lane PCIe
PHY). If "id" is not provided, it is set to default value of '1'.
- syscon-pllreset: Handle to system control region that contains the
CTRL_CORE_SMA_SW_0 register and register offset to the CTRL_CORE_SMA_SW_0
register that contains the SATA_PLL_SOFT_RESET bit. Only valid for sata_phy.

This is usually a subnode of ocp2scp to which it is connected.

Expand All @@ -100,3 +103,16 @@ usb3phy@4a084400 {
"sysclk",
"refclk";
};

sata_phy: phy@4A096000 {
compatible = "ti,phy-pipe3-sata";
reg = <0x4A096000 0x80>, /* phy_rx */
<0x4A096400 0x64>, /* phy_tx */
<0x4A096800 0x40>; /* pll_ctrl */
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
ctrl-module = <&omap_control_sata>;
clocks = <&sys_clkin1>, <&sata_ref_clk>;
clock-names = "sysclk", "refclk";
syscon-pllreset = <&scm_conf 0x3fc>;
#phy-cells = <0>;
};
6 changes: 4 additions & 2 deletions Documentation/input/alps.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,10 @@ ALPS Absolute Mode - Protocol Version 2
byte 5: 0 z6 z5 z4 z3 z2 z1 z0

Protocol Version 2 DualPoint devices send standard PS/2 mouse packets for
the DualPoint Stick. For non interleaved dualpoint devices the pointingstick
buttons get reported separately in the PSM, PSR and PSL bits.
the DualPoint Stick. The M, R and L bits signal the combined status of both
the pointingstick and touchpad buttons, except for Dell dualpoint devices
where the pointingstick buttons get reported separately in the PSM, PSR
and PSL bits.

Dualpoint device -- interleaved packet format
---------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 4
PATCHLEVEL = 2
SUBLEVEL = 0
EXTRAVERSION = -rc5
EXTRAVERSION = -rc6
NAME = Hurr durr I'ma sheep

# *DOCUMENTATION*
Expand Down
13 changes: 11 additions & 2 deletions arch/arc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -313,11 +313,11 @@ config ARC_PAGE_SIZE_8K

config ARC_PAGE_SIZE_16K
bool "16KB"
depends on ARC_MMU_V3
depends on ARC_MMU_V3 || ARC_MMU_V4

config ARC_PAGE_SIZE_4K
bool "4KB"
depends on ARC_MMU_V3
depends on ARC_MMU_V3 || ARC_MMU_V4

endchoice

Expand Down Expand Up @@ -365,6 +365,11 @@ config ARC_HAS_LLSC
default y
depends on !ARC_CANT_LLSC

config ARC_STAR_9000923308
bool "Workaround for llock/scond livelock"
default y
depends on ISA_ARCV2 && SMP && ARC_HAS_LLSC

config ARC_HAS_SWAPE
bool "Insn: SWAPE (endian-swap)"
default y
Expand All @@ -379,6 +384,10 @@ config ARC_HAS_LL64
dest operands with 2 possible source operands.
default y

config ARC_HAS_DIV_REM
bool "Insn: div, divu, rem, remu"
default y

config ARC_HAS_RTC
bool "Local 64-bit r/o cycle counter"
default n
Expand Down
10 changes: 9 additions & 1 deletion arch/arc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,16 @@ cflags-$(atleast_gcc44) += -fsection-anchors
cflags-$(CONFIG_ARC_HAS_LLSC) += -mlock
cflags-$(CONFIG_ARC_HAS_SWAPE) += -mswape

ifdef CONFIG_ISA_ARCV2

ifndef CONFIG_ARC_HAS_LL64
cflags-$(CONFIG_ISA_ARCV2) += -mno-ll64
cflags-y += -mno-ll64
endif

ifndef CONFIG_ARC_HAS_DIV_REM
cflags-y += -mno-div-rem
endif

endif

cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables
Expand Down
7 changes: 3 additions & 4 deletions arch/arc/include/asm/arcregs.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,10 @@
#define ECR_C_BIT_DTLB_LD_MISS 8
#define ECR_C_BIT_DTLB_ST_MISS 9


/* Auxiliary registers */
#define AUX_IDENTITY 4
#define AUX_INTR_VEC_BASE 0x25

#define AUX_NON_VOL 0x5e

/*
* Floating Pt Registers
Expand Down Expand Up @@ -240,9 +239,9 @@ struct bcr_extn_xymem {

struct bcr_perip {
#ifdef CONFIG_CPU_BIG_ENDIAN
unsigned int start:8, pad2:8, sz:8, pad:8;
unsigned int start:8, pad2:8, sz:8, ver:8;
#else
unsigned int pad:8, sz:8, pad2:8, start:8;
unsigned int ver:8, sz:8, pad2:8, start:8;
#endif
};

Expand Down
78 changes: 55 additions & 23 deletions arch/arc/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,33 +23,60 @@

#define atomic_set(v, i) (((v)->counter) = (i))

#ifdef CONFIG_ISA_ARCV2
#define PREFETCHW " prefetchw [%1] \n"
#else
#define PREFETCHW
#ifdef CONFIG_ARC_STAR_9000923308

#define SCOND_FAIL_RETRY_VAR_DEF \
unsigned int delay = 1, tmp; \

#define SCOND_FAIL_RETRY_ASM \
" bz 4f \n" \
" ; --- scond fail delay --- \n" \
" mov %[tmp], %[delay] \n" /* tmp = delay */ \
"2: brne.d %[tmp], 0, 2b \n" /* while (tmp != 0) */ \
" sub %[tmp], %[tmp], 1 \n" /* tmp-- */ \
" rol %[delay], %[delay] \n" /* delay *= 2 */ \
" b 1b \n" /* start over */ \
"4: ; --- success --- \n" \

#define SCOND_FAIL_RETRY_VARS \
,[delay] "+&r" (delay),[tmp] "=&r" (tmp) \

#else /* !CONFIG_ARC_STAR_9000923308 */

#define SCOND_FAIL_RETRY_VAR_DEF

#define SCOND_FAIL_RETRY_ASM \
" bnz 1b \n" \

#define SCOND_FAIL_RETRY_VARS

#endif

#define ATOMIC_OP(op, c_op, asm_op) \
static inline void atomic_##op(int i, atomic_t *v) \
{ \
unsigned int temp; \
unsigned int val; \
SCOND_FAIL_RETRY_VAR_DEF \
\
__asm__ __volatile__( \
"1: \n" \
PREFETCHW \
" llock %0, [%1] \n" \
" " #asm_op " %0, %0, %2 \n" \
" scond %0, [%1] \n" \
" bnz 1b \n" \
: "=&r"(temp) /* Early clobber, to prevent reg reuse */ \
: "r"(&v->counter), "ir"(i) \
"1: llock %[val], [%[ctr]] \n" \
" " #asm_op " %[val], %[val], %[i] \n" \
" scond %[val], [%[ctr]] \n" \
" \n" \
SCOND_FAIL_RETRY_ASM \
\
: [val] "=&r" (val) /* Early clobber to prevent reg reuse */ \
SCOND_FAIL_RETRY_VARS \
: [ctr] "r" (&v->counter), /* Not "m": llock only supports reg direct addr mode */ \
[i] "ir" (i) \
: "cc"); \
} \

#define ATOMIC_OP_RETURN(op, c_op, asm_op) \
static inline int atomic_##op##_return(int i, atomic_t *v) \
{ \
unsigned int temp; \
unsigned int val; \
SCOND_FAIL_RETRY_VAR_DEF \
\
/* \
* Explicit full memory barrier needed before/after as \
Expand All @@ -58,19 +85,21 @@ static inline int atomic_##op##_return(int i, atomic_t *v) \
smp_mb(); \
\
__asm__ __volatile__( \
"1: \n" \
PREFETCHW \
" llock %0, [%1] \n" \
" " #asm_op " %0, %0, %2 \n" \
" scond %0, [%1] \n" \
" bnz 1b \n" \
: "=&r"(temp) \
: "r"(&v->counter), "ir"(i) \
"1: llock %[val], [%[ctr]] \n" \
" " #asm_op " %[val], %[val], %[i] \n" \
" scond %[val], [%[ctr]] \n" \
" \n" \
SCOND_FAIL_RETRY_ASM \
\
: [val] "=&r" (val) \
SCOND_FAIL_RETRY_VARS \
: [ctr] "r" (&v->counter), \
[i] "ir" (i) \
: "cc"); \
\
smp_mb(); \
\
return temp; \
return val; \
}

#else /* !CONFIG_ARC_HAS_LLSC */
Expand Down Expand Up @@ -150,6 +179,9 @@ ATOMIC_OP(and, &=, and)
#undef ATOMIC_OPS
#undef ATOMIC_OP_RETURN
#undef ATOMIC_OP
#undef SCOND_FAIL_RETRY_VAR_DEF
#undef SCOND_FAIL_RETRY_ASM
#undef SCOND_FAIL_RETRY_VARS

/**
* __atomic_add_unless - add unless the number is a given value
Expand Down
54 changes: 27 additions & 27 deletions arch/arc/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,20 @@
struct pt_regs {

/* Real registers */
long bta; /* bta_l1, bta_l2, erbta */
unsigned long bta; /* bta_l1, bta_l2, erbta */

long lp_start, lp_end, lp_count;
unsigned long lp_start, lp_end, lp_count;

long status32; /* status32_l1, status32_l2, erstatus */
long ret; /* ilink1, ilink2 or eret */
long blink;
long fp;
long r26; /* gp */
unsigned long status32; /* status32_l1, status32_l2, erstatus */
unsigned long ret; /* ilink1, ilink2 or eret */
unsigned long blink;
unsigned long fp;
unsigned long r26; /* gp */

long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0;
unsigned long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0;

long sp; /* user/kernel sp depending on where we came from */
long orig_r0;
unsigned long sp; /* User/Kernel depending on where we came from */
unsigned long orig_r0;

/*
* To distinguish bet excp, syscall, irq
Expand All @@ -55,13 +55,13 @@ struct pt_regs {
unsigned long event;
};

long user_r25;
unsigned long user_r25;
};
#else

struct pt_regs {

long orig_r0;
unsigned long orig_r0;

union {
struct {
Expand All @@ -76,37 +76,37 @@ struct pt_regs {
unsigned long event;
};

long bta; /* bta_l1, bta_l2, erbta */
unsigned long bta; /* bta_l1, bta_l2, erbta */

long user_r25;
unsigned long user_r25;

long r26; /* gp */
long fp;
long sp; /* user/kernel sp depending on where we came from */
unsigned long r26; /* gp */
unsigned long fp;
unsigned long sp; /* user/kernel sp depending on where we came from */

long r12;
unsigned long r12;

/*------- Below list auto saved by h/w -----------*/
long r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11;
unsigned long r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11;

long blink;
long lp_end, lp_start, lp_count;
unsigned long blink;
unsigned long lp_end, lp_start, lp_count;

long ei, ldi, jli;
unsigned long ei, ldi, jli;

long ret;
long status32;
unsigned long ret;
unsigned long status32;
};

#endif

/* Callee saved registers - need to be saved only when you are scheduled out */

struct callee_regs {
long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13;
unsigned long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13;
};

#define instruction_pointer(regs) (unsigned long)((regs)->ret)
#define instruction_pointer(regs) ((regs)->ret)
#define profile_pc(regs) instruction_pointer(regs)

/* return 1 if user mode or 0 if kernel mode */
Expand Down Expand Up @@ -142,7 +142,7 @@ struct callee_regs {

static inline long regs_return_value(struct pt_regs *regs)
{
return regs->r0;
return (long)regs->r0;
}

#endif /* !__ASSEMBLY__ */
Expand Down
Loading