28 Jun, 2007

6 commits

  • Add storage driver core support for the PS3.
    PS3 storage devices are a special kind of PS3 system bus device.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geert Uytterhoeven
     
  • Make the PS3 ps3av driver a loadable module.
    - Replace static data with kmalloc()'ed.
    o Allocate struct ps3av dynamically, as it contains data used as vuart
    receive/transmit buffers
    o Move static recv_buf from ps3av_do_pkt() to struct ps3av
    - Move ps3av_vuart_{read,write}() from drivers/ps3/ps3av_cmd.c to
    drivers/ps3/ps3av.c and make them static as they're used in that file only.
    - Make device a PS3 system-bus device.
    - Update copyright formatting.
    - Make two new routines ps3av_register_flip_ctl() and ps3av_flip_ctl() to
    support late binding of the frame buffer flip control routine.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • PS3 sys-manager updates to reflect the new PS3 unifed device support.
    Fixups to the PS3 sys-manager driver to properly support sys_reboot().
    - Add varable request_tag to struct ps3_sys_manager_header.
    - Move ctrl_alt_del from PS3_SM_EVENT_POWER_RELEASED to
    PS3_SM_EVENT_POWER_PRESSED.
    - Make the PS3 sys-manager driver a loadable module.
    - Add new file sys-manager-core.c.
    - Add new struct ps3_sys_manager_ops for dynamic binding.
    - Put data sent to device on stack.
    - Add support for PS3_SM_SERVICE_ID_REQUEST_ERROR.

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • PS3 vuart updates to reflect the new PS3 unified device support.
    - Move vuart devices to the PS3 system bus.
    - Replace use of ps3_vuart_port_device with ps3_system_bus_device.
    - Make the PS3 vuart bus driver a loadable module.
    - Add remove() and shutdown() routines.
    - Move ps3_vuart_work into ps3_vuart_port_priv.tx_list.
    - Remove redundant spinlock ps3_vuart_work.lock.
    - No longer free ps3_vuart_port_device.priv on shutdown.
    - Cleanup Kconfig defs.
    - Export symbols needed for modular port drivers.
    - Arrange to use port numbers found in repository.
    - Fix bugs in ps3_vuart_read_async() and polled reading
    - Cleanup handling of shared interrupt with ps3_vuart_bus_interrupt_get()
    and ps3_vuart_bus_interrupt_put()
    - Add more comments to vuart.c.

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • Add support for HDMI RGB Full Range mode, which is available on system
    software 1.80 or newer.

    CC: Masashi Kimoto
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Masashi Kimoto
     
  • Change the PS3 debug routines from using the GCC specific
    '__attribute__ ((unused))' to the preprocessor macro
    __maybe_unused.

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     

08 May, 2007

1 commit


05 May, 2007

4 commits


02 May, 2007

1 commit


30 Apr, 2007

1 commit

  • Commit 404d5b185b4eb56d6fa2f7bd27833f8df1c38ce4 changed the definition
    of dev_dbg in the !DEBUG case from being a #define to being a static
    inline. There was code in drivers/ps3/vuart.c to do exactly that,
    which fails to compile now. This fixes it by removing the redefinition,
    as the redefinition is now superfluous.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

15 Mar, 2007

2 commits


10 Mar, 2007

1 commit


16 Feb, 2007

3 commits

  • Add PS3 system manager support and the ppc_md routines restart() and
    power_off().

    The system manager provides an event notification mechanism for reporting
    events like thermal alert and button presses. It also provides support to
    control system shutdown and startup.

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • Add asynchronous read support to the PS3 vuart driver. This is needed to
    support the PS3 system manager driver.

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • Cleanups for the PS3 vuart driver.

    - Hide driver private data from external interface with new structure
    ps3_vuart_port_priv.
    - Fix masking bug in ps3_vuart_get_interrupt_status().
    - Add new helper routine ps3_vuart_clear_rx_bytes() to flush rx buffer.
    - Add new variable probe_mutex to serialize probe and destroy routines.
    - Rename some symbols.
    - Add platform check in ps3_vuart_bus_init().

    Signed-off-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geoff Levand
     

13 Feb, 2007

3 commits


07 Feb, 2007

4 commits

  • Move the structures and routines needed for PS3 vuart port device registration
    to asm-powerpc/ps3.h.

    Signed-off-by: Geoff Levand
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • Move the PS3 system bus routines from drivers/ps3 to
    arch/powerpc/platforms/ps3.

    Signed-off-by: Geoff Levand
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • Change the PS3 irq allocation routines to take an argument indicating which
    cpu (processor thread) the interrupt should be serviced on.

    The current system configuration favors device interrupts that are serviced
    on cpu0, so that is used as the default.

    Signed-off-by: Geoff Levand
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Geoff Levand
     
  • Fix two minor bugs in the PS3 system bus mmio region code. First, on error or
    when freeing a region, retain the bus_addr and len fields to allow subsequent
    calls to create the region. Second, correct the region address argument to the
    lv1_unmap_device_mmio_region() call.

    Fixes modprobe/rmmod of some drivers.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Geoff Levand
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

11 Dec, 2006

1 commit

  • Adds support for the PS3 virtual UART (vuart). The vuart provides a
    bi-directional byte stream data link between logical partitions.

    This is needed for the ps3 graphics driver and the ps3 power
    control support to be able to communicate with the lv1 policy
    module.

    Signed-off-by: Geoff Levand
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Geoff Levand
     

04 Dec, 2006

2 commits

  • A few code paths need to check whether or not they are running
    on the PS3's LV1 hypervisor before making hcalls. This introduces
    a new firmware feature bit for this, FW_FEATURE_PS3_LV1.

    Now when both PS3 and IBM_CELL_BLADE are enabled, but not PSERIES,
    FW_FEATURE_PS3_LV1 and FW_FEATURE_LPAR get enabled at compile time,
    which is a bug. The same problem can also happen for (PPC_ISERIES &&
    !PPC_PSERIES && PPC_SOMETHING_ELSE). In order to solve this, I
    introduce a new CONFIG_PPC_NATIVE option that is set when at least
    one platform is selected that can run without a hypervisor and then
    turns the firmware feature check into a run-time option.

    The new cell oprofile support that was recently merged does not
    work on hypervisor based platforms like the PS3, therefore make
    it depend on PPC_CELL_NATIVE instead of PPC_CELL. This may change
    if we get oprofile support for PS3.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Adds a PS3 system bus driver. This system bus is a virtual bus used to present
    the PS3 system devices in the LDM.

    Signed-off-by: Geoff Levand
    Signed-off-by: Arnd Bergmann

    Geoff Levand