summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Blackfin arch: merge kgdb test code using common CONFIG_KGDB_TESTSMike Frysinger2009-01-073-1/+131
| | | | | | | | | [Grace Pan <grace.pan@analog.com>: Add case for kgdb test in l1 and l2] Signed-off-by: Grace Pan <grace.pan@analog.com> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Faster C implementation of no-MPU CPLB handlerBernd Schmidt2009-01-0719-1442/+515
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a mixture ofcMichael McTernan's patch and the existing cplb-mpu code. We ditch the old cplb-nompu implementation, which is a good example of why a good algorithm in a HLL is preferrable to a bad algorithm written in assembly. Rather than try to construct a table of all posible CPLBs and search it, we just create a (smaller) table of memory regions and their attributes. Some of the data structures are now unified for both the mpu and nompu cases. A lot of needless complexity in cplbinit.c is removed. Further optimizations: * compile cplbmgr.c with a lot of -ffixed-reg options, and omit saving these registers on the stack when entering a CPLB exception. * lose cli/nop/nop/sti sequences for some workarounds - these don't * make sense in an exception context Additional code unification should be possible after this. [Mike Frysinger <vapier.adi@gmail.com>: - convert CPP if statements to C if statements - remove redundant statements - use a do...while loop rather than a for loop to get slightly better optimization and to avoid gcc "may be used uninitialized" warnings ... we know that the [id]cplb_nr_bounds variables will never be 0, so this is OK - the no-mpu code was the last user of MAX_MEM_SIZE and with that rewritten, we can punt it - add some BUG_ON() checks to make sure we dont overflow the small cplb_bounds array - add i/d cplb entries for the bootrom because there is functions/data in there we want to access - we do not need a NULL trailing entry as any time we access the bounds arrays, we use the nr_bounds variable ] Signed-off-by: Michael McTernan <mmcternan@airvana.com> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: update anomaly headers to match latest sheetsMike Frysinger2009-01-077-5/+43
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Fix bug - IrDA SIR build failed for BF533.Graf Yang2009-01-073-6/+13
| | | | | | Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: panic when running on a chip rev below what we are compiled forRobin Getz2009-01-071-1/+4
| | | | | | | | | | | If we are running on a chip revision below what we are compiled for, there will be missing anomaly workarounds, and a panic is inevitable. Do is sooner, rather than later, so people don't look for bugs that already have workarounds (that they turned off). Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Fix bug - wrong endpoint number and dma channels of USBBryan Wu2009-01-075-10/+10
| | | | | | | Blackfin MUSB has 8 endpoints including ep0 and 8 dma channels not 7 Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: do not allow people to pass in a diff clkin_hz valueMike Frysinger2009-01-071-0/+4
| | | | | | | | | do not allow people to pass in a diff clkin_hz value when reprogramming clocks -- it is too late currently Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: allow clkin_hz to be specified on the command lineMike Frysinger2009-01-071-3/+21
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: show_cpuinfo - consolidate ugly castsMike Frysinger2009-01-071-11/+8
| | | | | | | | | rather than use *(unsigned int *)v everywhere, do this once with a local cpu_num variable Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: add __init markings to Blackfin timer init functionsMike Frysinger2009-01-071-3/+3
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: add get_dma_config() func to match set_dma_config()Mike Frysinger2009-01-071-0/+4
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: add volatile markings to DMA MMRsMike Frysinger2009-01-071-1/+1
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Make the interrupt edge and polarity type configurable based ↵Michael Hennerich2009-01-071-1/+1
| | | | | | | | on IORESOURCE_BITS Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Remove wasted SIR header filesGraf Yang2009-01-077-1001/+0
| | | | | | Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Modify bfin_sir device configuration to board fileGraf Yang2009-01-0724-147/+882
| | | | | | Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: update header to match new locationGraf Yang2009-01-071-2/+2
| | | | | | Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Fix typo (channel)Jean Delvare2009-01-072-2/+2
| | | | | | | | Channnel -> Channel Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Replace C version of 64 bit multiply with hand optimized assemblyBernd Schmidt2009-01-072-99/+68
| | | | | | Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: remove unused members of dma_channel structMike Frysinger2009-01-071-3/+0
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Update some inline assembly, tweak some register constraintsRobin Getz2009-01-073-5/+10
| | | | | | Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: stub out pgprot_noncached() like other people seem to do on nommuMike Frysinger2009-01-071-0/+1
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Fix incorrect use of loose in cpufreq.cNick Andrew2009-01-071-1/+1
| | | | | | | | | It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew <nick@nick-andrew.net> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: add __must_check markings to our user functions like other archesMike Frysinger2009-01-071-7/+8
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: dma code: cannot simply OR the ndsizeMike Frysinger2009-01-071-1/+3
| | | | | | | | cannot simply OR the ndsize ... need to clear out the old value first Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: add bfin_read_MDMA_S0_CONFIG compat for dma_memcpyMike Frysinger2009-01-071-0/+1
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: fix bug - crashes in tcp_v4_send_resetBernd Schmidt2009-01-071-1/+2
| | | | | | | | | | Michael says that some bugs are crashes in tcp_v4_send_reset. There's a missing clobber of "CC" in our checksum assembly statement; fixing this makes the generated code look much saner. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: push cache flushing up to dma_memcpyMike Frysinger2009-01-071-11/+14
| | | | | | | | | push cache flushing up to dma_memcpy() so that we call the flush functions just once Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: request_dma() returns 0 on success, not channelMike Frysinger2009-01-071-1/+1
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: desc_ptr is a pointer, so declare it as suchMike Frysinger2009-01-071-8/+8
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: move most dma functions into static inlinesMike Frysinger2009-01-072-252/+137
| | | | | | | | | move most dma functions into static inlines since they are vastly 1 liners that get/set a value in a structure Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: dma header file: strip down includes to only necessary onesMike Frysinger2009-01-071-8/+3
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: set_dma_callback: do not store .irqMike Frysinger2009-01-071-11/+9
| | | | | | | | | set_dma_callback: do not store .irq if request_irq() failed so we dont turn around and attempt to free_irq() it later on in free_dma() Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: drop irq_callback from struct dma_channelMike Frysinger2009-01-072-4/+2
| | | | | | | | the irq member already serves the same purpose Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: drop custom dma_interrupt_t and just use irq_handler_tMike Frysinger2009-01-072-5/+3
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: include linux/mm.h since we use PAGE_ALIGN and suchMike Frysinger2009-01-071-0/+1
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: enable DEBUG_KERNEL for ADI boardsMike Frysinger2009-01-079-9/+9
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: rewrite dma_memcpy() and dma in/out functionsMike Frysinger2009-01-073-366/+156
| | | | | | | | | | | | | | - unify all dma in/out functions (takes ~35 lines of code now) - unify dma_memcpy with dma in/out functions (1 place that touches MDMA0 registers) - add support for 32bit transfers - cleanup dma_memcpy code to be much more readable - irqs are disabled only while programming MDMA registers rather than the entire transaction Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: check pointers in safe_dma_memcpyMike Frysinger2009-01-071-3/+10
| | | | | | | | Check pointers in safe_dma_memcpy as this is the entry point for user-space code Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: push bf561 PERIPHERAL_MAP oddity into bf561-specific codeMike Frysinger2009-01-072-11/+8
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: ADP5588 QWERTY I2C Keyboard Input device driverMichael Hennerich2009-01-071-0/+94
| | | | | | | | Add BF537-STAMP platform Support Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: cleanup - use scm for changelog, not file headersMike Frysinger2009-01-078-195/+27
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Add basic irq stack checking for BlackfinRobin Getz2009-01-074-1/+40
| | | | | | Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Set TWI/I2C Clock to 100kHzMike Frysinger2009-01-0710-10/+10
| | | | | | | | All slaves I'm aware of should support at least 100kHz Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: dma_memcpy() - do not return NULL when transferring a ↵Mike Frysinger2009-01-071-2/+2
| | | | | | | | multiple of 65k Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Add BF537-STAMP platform support for ENC28J60 SPI Ethernet MACMichael Hennerich2009-01-071-0/+19
| | | | | | | | | | This device shouldn't be considered as an alternative to a Memory Mapped or built-in Ethernet MAC. Throughput is slow (~460kByte/s) while generating a very high system load (~60%). Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: remove #if check on L2_LENGTHMike Frysinger2009-01-071-5/+1
| | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: Retire old spi_mmc driverYi Li2009-01-074-83/+0
| | | | | | | | Turn to use the mmc_spi driver in mainline kernel. Signed-off-by: Yi Li <yi.li@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: add mmc_spi support to BF537-STAMPYi Li2009-01-071-0/+39
| | | | | | Signed-off-by: Yi Li <yi.li@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: rename MAX_BLACKFIN_DMA_CHANNEL to MAX_DMA_CHANNELS to match ↵Mike Frysinger2009-01-0717-23/+23
| | | | | | | | everyone else Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* Blackfin arch: fix bug - kernel build fails with undefined reference to ↵Michael Hennerich2009-01-071-1/+1
| | | | | | | | pm_overflow_handler Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
OpenPOWER on IntegriCloud