diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-15 12:26:12 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-15 12:26:12 -0400 |
| commit | 133d970e0dadf7b413db19893acc5b26664bf4a1 (patch) | |
| tree | ea10732ca1d0f663ef1319973947a7c72cf170e7 /drivers/video | |
| parent | 050aaeab99067b6a08b34274ff15ca5dbb94a160 (diff) | |
| parent | 38b8767462120c62a5046b529c80b06861f9ac85 (diff) | |
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle:
"This is the main MIPS pull request for 4.9:
MIPS core arch code:
- traps: 64bit kernels should read CP0_EBase 64bit
- traps: Convert ebase to KSEG0
- c-r4k: Drop bc_wback_inv() from icache flush
- c-r4k: Split user/kernel flush_icache_range()
- cacheflush: Use __flush_icache_user_range()
- uprobes: Flush icache via kernel address
- KVM: Use __local_flush_icache_user_range()
- c-r4k: Fix flush_icache_range() for EVA
- Fix -mabi=64 build of vdso.lds
- VDSO: Drop duplicated -I*/-E* aflags
- tracing: move insn_has_delay_slot to a shared header
- tracing: disable uprobe/kprobe on compact branch instructions
- ptrace: Fix regs_return_value for kernel context
- Squash lines for simple wrapper functions
- Move identification of VP(E) into proc.c from smp-mt.c
- Add definitions of SYNC barrierstype values
- traps: Ensure full EBase is written
- tlb-r4k: If there are wired entries, don't use TLBINVF
- Sanitise coherentio semantics
- dma-default: Don't check hw_coherentio if device is non-coherent
- Support per-device DMA coherence
- Adjust MIPS64 CAC_BASE to reflect Config.K0
- Support generating Flattened Image Trees (.itb)
- generic: Introduce generic DT-based board support
- generic: Convert SEAD-3 to a generic board
- Enable hardened usercopy
- Don't specify STACKPROTECTOR in defconfigs
Octeon:
- Delete dead code and files across the platform.
- Change to use all memory into use by default.
- Rename upper case variables in setup code to lowercase.
- Delete legacy hack for broken bootloaders.
- Leave maintaining the link state to the actual ethernet/PHY drivers.
- Add DTS for D-Link DSR-500N.
- Fix PCI interrupt routing on D-Link DSR-500N.
Pistachio:
- Remove ANDROID_TIMED_OUTPUT from defconfig
TX39xx:
- Move GPIO setup from .mem_setup() to .arch_init()
- Convert to Common Clock Framework
TX49xx:
- Move GPIO setup from .mem_setup() to .arch_init()
- Convert to Common Clock Framework
txx9wdt:
- Add missing clock (un)prepare calls for CCF
BMIPS:
- Add PW, GPIO SDHCI and NAND device node names
- Support APPENDED_DTB
- Add missing bcm97435svmb to DT_NONE
- Rename bcm96358nb4ser to bcm6358-neufbox4-sercom
- Add DT examples for BCM63268, BCM3368 and BCM6362
- Add support for BCM3368 and BCM6362
PCI
- Reduce stack frame usage
- Use struct list_head lists
- Support for CONFIG_PCI_DOMAINS_GENERIC
- Make pcibios_set_cache_line_size an initcall
- Inline pcibios_assign_all_busses
- Split pci.c into pci.c & pci-legacy.c
- Introduce CONFIG_PCI_DRIVERS_LEGACY
- Support generic drivers
CPC
- Convert bare 'unsigned' to 'unsigned int'
- Avoid lock when MIPS CM >= 3 is present
GIC:
- Delete unused file smp-gic.c
mt7620:
- Delete unnecessary assignment for the field "owner" from PCI
BCM63xx:
- Let clk_disable() return immediately if clk is NULL
pm-cps:
- Change FSB workaround to CPU blacklist
- Update comments on barrier instructions
- Use MIPS standard lightweight ordering barrier
- Use MIPS standard completion barrier
- Remove selection of sync types
- Add MIPSr6 CPU support
- Support CM3 changes to Coherence Enable Register
SMP:
- Wrap call to mips_cpc_lock_other in mips_cm_lock_other
- Introduce mechanism for freeing and allocating IPIs
cpuidle:
- cpuidle-cps: Enable use with MIPSr6 CPUs.
SEAD3:
- Rewrite to use DT and generic kernel feature.
USB:
- host: ehci-sead3: Remove SEAD-3 EHCI code
FBDEV:
- cobalt_lcdfb: Drop SEAD3 support
dt-bindings:
- Document a binding for simple ASCII LCDs
auxdisplay:
- img-ascii-lcd: driver for simple ASCII LCD displays
irqchip i8259:
- i8259: Add domain before mapping parent irq
- i8259: Allow platforms to override poll function
- i8259: Remove unused i8259A_irq_pending
Malta:
- Rewrite to use DT
of/platform:
- Probe "isa" busses by default
CM:
- Print CM error reports upon bus errors
Module:
- Migrate exception table users off module.h and onto extable.h
- Make various drivers explicitly non-modular:
- Audit and remove any unnecessary uses of module.h
mailmap:
- Canonicalize to Qais' current email address.
Documentation:
- MIPS supports HAVE_REGS_AND_STACK_ACCESS_API
Loongson1C:
- Add CPU support for Loongson1C
- Add board support
- Add defconfig
- Add RTC support for Loongson1C board
All this except one Documentation fix has sat in linux-next and has
survived Imagination's automated build test system"
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (127 commits)
Documentation: MIPS supports HAVE_REGS_AND_STACK_ACCESS_API
MIPS: ptrace: Fix regs_return_value for kernel context
MIPS: VDSO: Drop duplicated -I*/-E* aflags
MIPS: Fix -mabi=64 build of vdso.lds
MIPS: Enable hardened usercopy
MIPS: generic: Convert SEAD-3 to a generic board
MIPS: generic: Introduce generic DT-based board support
MIPS: Support generating Flattened Image Trees (.itb)
MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0
MIPS: Print CM error reports upon bus errors
MIPS: Support per-device DMA coherence
MIPS: dma-default: Don't check hw_coherentio if device is non-coherent
MIPS: Sanitise coherentio semantics
MIPS: PCI: Support generic drivers
MIPS: PCI: Introduce CONFIG_PCI_DRIVERS_LEGACY
MIPS: PCI: Split pci.c into pci.c & pci-legacy.c
MIPS: PCI: Inline pcibios_assign_all_busses
MIPS: PCI: Make pcibios_set_cache_line_size an initcall
MIPS: PCI: Support for CONFIG_PCI_DOMAINS_GENERIC
MIPS: PCI: Use struct list_head lists
...
Diffstat (limited to 'drivers/video')
| -rw-r--r-- | drivers/video/fbdev/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/video/fbdev/cobalt_lcdfb.c | 42 |
2 files changed, 1 insertions, 43 deletions
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index af2f117208f1..5d3b0db5ce0a 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig | |||
| @@ -2187,7 +2187,7 @@ config FB_GOLDFISH | |||
| 2187 | 2187 | ||
| 2188 | config FB_COBALT | 2188 | config FB_COBALT |
| 2189 | tristate "Cobalt server LCD frame buffer support" | 2189 | tristate "Cobalt server LCD frame buffer support" |
| 2190 | depends on FB && (MIPS_COBALT || MIPS_SEAD3) | 2190 | depends on FB && MIPS_COBALT |
| 2191 | 2191 | ||
| 2192 | config FB_SH7760 | 2192 | config FB_SH7760 |
| 2193 | bool "SH7760/SH7763/SH7720/SH7721 LCDC support" | 2193 | bool "SH7760/SH7763/SH7720/SH7721 LCDC support" |
diff --git a/drivers/video/fbdev/cobalt_lcdfb.c b/drivers/video/fbdev/cobalt_lcdfb.c index 07675d6f323e..2d3b691f3fc4 100644 --- a/drivers/video/fbdev/cobalt_lcdfb.c +++ b/drivers/video/fbdev/cobalt_lcdfb.c | |||
| @@ -63,7 +63,6 @@ | |||
| 63 | #define LCD_CUR_POS(x) ((x) & LCD_CUR_POS_MASK) | 63 | #define LCD_CUR_POS(x) ((x) & LCD_CUR_POS_MASK) |
| 64 | #define LCD_TEXT_POS(x) ((x) | LCD_TEXT_MODE) | 64 | #define LCD_TEXT_POS(x) ((x) | LCD_TEXT_MODE) |
| 65 | 65 | ||
| 66 | #ifdef CONFIG_MIPS_COBALT | ||
| 67 | static inline void lcd_write_control(struct fb_info *info, u8 control) | 66 | static inline void lcd_write_control(struct fb_info *info, u8 control) |
| 68 | { | 67 | { |
| 69 | writel((u32)control << 24, info->screen_base); | 68 | writel((u32)control << 24, info->screen_base); |
| @@ -83,47 +82,6 @@ static inline u8 lcd_read_data(struct fb_info *info) | |||
| 83 | { | 82 | { |
| 84 | return readl(info->screen_base + LCD_DATA_REG_OFFSET) >> 24; | 83 | return readl(info->screen_base + LCD_DATA_REG_OFFSET) >> 24; |
| 85 | } | 84 | } |
| 86 | #else | ||
| 87 | |||
| 88 | #define LCD_CTL 0x00 | ||
| 89 | #define LCD_DATA 0x08 | ||
| 90 | #define CPLD_STATUS 0x10 | ||
| 91 | #define CPLD_DATA 0x18 | ||
| 92 | |||
| 93 | static inline void cpld_wait(struct fb_info *info) | ||
| 94 | { | ||
| 95 | do { | ||
| 96 | } while (readl(info->screen_base + CPLD_STATUS) & 1); | ||
| 97 | } | ||
| 98 | |||
| 99 | static inline void lcd_write_control(struct fb_info *info, u8 control) | ||
| 100 | { | ||
| 101 | cpld_wait(info); | ||
| 102 | writel(control, info->screen_base + LCD_CTL); | ||
| 103 | } | ||
| 104 | |||
| 105 | static inline u8 lcd_read_control(struct fb_info *info) | ||
| 106 | { | ||
| 107 | cpld_wait(info); | ||
| 108 | readl(info->screen_base + LCD_CTL); | ||
| 109 | cpld_wait(info); | ||
| 110 | return readl(info->screen_base + CPLD_DATA) & 0xff; | ||
| 111 | } | ||
| 112 | |||
| 113 | static inline void lcd_write_data(struct fb_info *info, u8 data) | ||
| 114 | { | ||
| 115 | cpld_wait(info); | ||
| 116 | writel(data, info->screen_base + LCD_DATA); | ||
| 117 | } | ||
| 118 | |||
| 119 | static inline u8 lcd_read_data(struct fb_info *info) | ||
| 120 | { | ||
| 121 | cpld_wait(info); | ||
| 122 | readl(info->screen_base + LCD_DATA); | ||
| 123 | cpld_wait(info); | ||
| 124 | return readl(info->screen_base + CPLD_DATA) & 0xff; | ||
| 125 | } | ||
| 126 | #endif | ||
| 127 | 85 | ||
| 128 | static int lcd_busy_wait(struct fb_info *info) | 86 | static int lcd_busy_wait(struct fb_info *info) |
| 129 | { | 87 | { |
