1. 21 5月, 2014 5 次提交
  2. 15 5月, 2014 1 次提交
  3. 14 5月, 2014 1 次提交
  4. 13 5月, 2014 11 次提交
    • R
      MIPS: Wire up renameat2 syscall. · 367f0b50
      Ralf Baechle 提交于
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      367f0b50
    • R
      MIPS: inst.h: Rename BITFIELD_FIELD to __BITFIELD_FIELD. · 8471ac1b
      Ralf Baechle 提交于
      <uapi/asm/inst.h> is exported to userland so the macro name BITFIELD_FIELD
      pollutes the namespace.  Prefix the name with __ fixes this.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8471ac1b
    • R
    • A
      MIPS/loongson2_cpufreq: Fix CPU clock rate setting · 8e8acb32
      Aaro Koskinen 提交于
      Loongson2 has been using (incorrectly) kHz for cpu_clk rate. This has
      been unnoticed, as loongson2_cpufreq was the only place where the rate
      was set/get. After commit 652ed95d
      (cpufreq: introduce cpufreq_generic_get() routine) things however broke,
      and now loops_per_jiffy adjustments are incorrect (1000 times too long).
      The patch fixes this by changing cpu_clk rate to Hz.
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Cc: stable@vger.kernel.org
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Viresh Kumar <viresh.kumar@linaro.org>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Cc: cpufreq@vger.kernel.org
      Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
      Patchwork: https://patchwork.linux-mips.org/patch/6678/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8e8acb32
    • P
      MIPS: Loongson: No need to select GENERIC_HARDIRQS_NO__DO_IRQ · 3deff253
      Paul Bolle 提交于
      Commit 0e476d91 ("MIPS: Loongson: Add Loongson-3 Kconfig options")
      added "select GENERIC_HARDIRQS_NO__DO_IRQ". But the Kconfig symbol
      GENERIC_HARDIRQS_NO__DO_IRQ was already removed in v2.6.38, so that
      select is a nop. Drop it.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/6677/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      3deff253
    • M
      MIPS: csum_partial.S CPU_DADDI_WORKAROUNDS bug fix · 44ba138f
      Maciej W. Rozycki 提交于
      This change reverts most of commit
      60724ca5 [MIPS: IP checksums: Remove
      unncessary .set pseudos] that introduced warnings with the
      CPU_DADDI_WORKAROUNDS option set:
      
      arch/mips/lib/csum_partial.S: Assembler messages:
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3"
      [...]
      arch/mips/lib/csum_partial.S:577: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:577: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:577: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3"
      arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3"
      [and so on, and so on...]
      
      The warnings are benign and good code is produced regardless because no
      macros that'd use the assembler's temporary register are involved, however
      the `.set noat' directives removed by the commit referred are crucial to
      guarantee this is still going to be the case after any changes in the
      future.  Therefore they need to be brought back to place which this
      change does.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6686/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      44ba138f
    • M
      MIPS: __strncpy_from_user_asm CPU_DADDI_WORKAROUNDS bug fix · 465ca5d6
      Maciej W. Rozycki 提交于
      This corrects assembler warnings and broken code generated in
      __strncpy_from_user_asm:
      
      arch/mips/lib/strncpy_user.S: Assembler messages:
      arch/mips/lib/strncpy_user.S:52: Warning: Macro instruction expanded into
      multiple instructions in a branch delay slot
      
      with the CPU_DADDI_WORKAROUNDS option set.  The function schedules delay
      slots manually where there is really no need to as GAS is happy to do it
      all itself, so undo it all and remove `.set noreorder'.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6685/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      465ca5d6
    • M
      MIPS: __delay CPU_DADDI_WORKAROUNDS bug fix · 2db4bc34
      Maciej W. Rozycki 提交于
      With CPU_DADDI_WORKAROUNDS enabled __delay assembles with a macro in a
      branch delay slot:
      
      {standard input}: Assembler messages:
      {standard input}:18: Warning: Macro instruction expanded into multiple
      instructions in a branch delay slot
      
      and broken code results:
      
      0000000000000000 <__delay>:
         0:	1480ffff 	bnez	a0,0 <__delay>
         4:	24010001 	li	at,1
         8:	0081202f 	dsubu	a0,a0,at
         c:	03e00008 	jr	ra
        10:	00000000 	nop
        14:	00000000 	nop
      
      Consequently the function loops indefinitely, showing up prominently as a
      hang in the delay loop calibration at bootstrap.
      
      This change corrects the problem by forcing the immediate 1 into a
      register while keeping code produced identical where CPU_DADDI_WORKAROUNDS
      is disabled.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6669/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      2db4bc34
    • M
      MIPS: DEC/SNI: O32 wrapper stack switching fixes · 824122a3
      Maciej W. Rozycki 提交于
      Commit 231a35d3 [[MIPS] RM: Collected
      changes] broke DECstation support by introducing an incompatible copy of
      arch/mips/dec/prom/call_o32.S in arch/mips/fw/lib/, built unconditionally.
      The copy happens to land earlier of the two among the modules used in the
      link and is therefore chosen for the DECstation rather than the intended
      original.  As a result random kernel data is corrupted because a pointer
      to the "%s" formatted output template is used as a temporary stack pointer
      rather than being passed down to prom_printf.  This also explains why
      prom_printf still works, up to a point -- the next argument is the actual
      string to output so it works just fine as the output template until enough
      kernel data has been corrupted to cause a crash.
      
      This change adjusts the modified wrapper in arch/mips/fw/lib/call_o32.S to
      let callers request no stack switching by passing a null temporary stack
      pointer in $a1, reworks the DECstation callers to work with the updated
      interface and removes the old copy from arch/mips/dec/prom/call_o32.S.  A
      few minor readability adjustments are included as well, most importantly
      O32_SZREG is now used throughout where applicable rather than hardcoded
      multiplies of 4 and $fp is used to access the argument save area as a more
      usual register to operate the stack with rather than $s0.
      
      Finally an update is made to the temporary stack space used by the SNI
      platform to guarantee 8-byte alignment as per o32 requirements.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6668/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      824122a3
    • M
      MIPS: DEC: Bus error handler <asm/cpu-type.h> fixes · af37530b
      Maciej W. Rozycki 提交于
      Commit 69f24d17 [MIPS: Optimize
      current_cpu_type() for better code.] missed an update for two DECstation
      bus error support files that now do not build, this is a fix.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6667/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      af37530b
    • R
      Revert "MIPS: MT: proc: Add support for printing VPE and TC ids" · 5508d456
      Ralf Baechle 提交于
      Reverts commit 795038a6 because
      d6d3c9af provides the same functionality
      in a more generic way.  Both patches applied however means that the
      VPE and TC IDs get printed twice currently.
      5508d456
  5. 19 4月, 2014 1 次提交
  6. 18 4月, 2014 1 次提交
    • T
      genirq: Allow forcing cpu affinity of interrupts · 01f8fa4f
      Thomas Gleixner 提交于
      The current implementation of irq_set_affinity() refuses rightfully to
      route an interrupt to an offline cpu.
      
      But there is a special case, where this is actually desired. Some of
      the ARM SoCs have per cpu timers which require setting the affinity
      during cpu startup where the cpu is not yet in the online mask.
      
      If we can't do that, then the local timer interrupt for the about to
      become online cpu is routed to some random online cpu.
      
      The developers of the affected machines tried to work around that
      issue, but that results in a massive mess in that timer code.
      
      We have a yet unused argument in the set_affinity callbacks of the irq
      chips, which I added back then for a similar reason. It was never
      required so it got not used. But I'm happy that I never removed it.
      
      That allows us to implement a sane handling of the above scenario. So
      the affected SoC drivers can add the required force handling to their
      interrupt chip, switch the timer code to irq_force_affinity() and
      things just work.
      
      This does not affect any existing user of irq_set_affinity().
      
      Tagged for stable to allow a simple fix of the affected SoC clock
      event drivers.
      Reported-and-tested-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Tomasz Figa <t.figa@samsung.com>,
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org,
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/20140416143315.717251504@linutronix.deSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      01f8fa4f
  7. 08 4月, 2014 1 次提交
  8. 07 4月, 2014 1 次提交
    • V
      cpufreq: create another field .flags in cpufreq_frequency_table · 7f4b0461
      Viresh Kumar 提交于
      Currently cpufreq frequency table has two fields: frequency and driver_data.
      driver_data is only for drivers' internal use and cpufreq core shouldn't use
      it at all. But with the introduction of BOOST frequencies, this assumption
      was broken and we started using it as a flag instead.
      
      There are two problems due to this:
      - It is against the description of this field, as driver's data is used by
        the core now.
      - if drivers fill it with -3 for any frequency, then those frequencies are
        never considered by cpufreq core as it is exactly same as value of
        CPUFREQ_BOOST_FREQ, i.e. ~2.
      
      The best way to get this fixed is by creating another field flags which
      will be used for such flags. This patch does that. Along with that various
      drivers need modifications due to the change of struct cpufreq_frequency_table.
      Reviewed-by: NGautham R Shenoy <ego@linux.vnet.ibm.com>
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7f4b0461
  9. 01 4月, 2014 18 次提交