From 7be2331868e098bdade6eb8ae9474e851ecd99e5 Mon Sep 17 00:00:00 2001 From: Jorgen Nilsson Date: Mon, 6 Feb 2012 17:04:49 +0100 Subject: pm: [ANDROID]: b2r2: Add kernel API to b2r2 and more Brief: As a preparation for the ICS hardware composer solution a kernel API has been added to the b2r2 driver. Some minor stability fixes are also part of this release. The full support for dual b2r2 configuration should be in place, but has yet to be verified with the apropriate hardware. The change should have minor impact on the single core solution. Details: A new logical device for handling the blitter requests has been added. This is roughly the same device as the old blitter the interfaces are therefore the same. From now there is at least two devices - one blitter device and then for each core one additional device (dual configuration is the current target). As a consequence the maximum number of allowed cores has been raised from 1 to 2. When a dual configuration is active the b2r2 driver seamlessly splits requests over available b2r2 cores. Each request is assigned a core_mask defining which cores are doing part of the job. This helps keep track when waiting for the reports. Also, rectangles are now recalculated (based on intersection of destination rectangle and destination image etc.) before splitting the job in order to maximize throughput. Clock and power source can now be configured from devices-dbxxxx.c or equivalent. Minor bug fixes: - Check the return value from clk_enable - Check if the core is valid before serving a IRQ. - Check if the core is enabled (domain_enabled) before adding a new job. - Return actual job_id used for a request (previously always 0) ST-Ericsson ID: 404691 Original Change-Id: Ic3357c4c1e792a84077c1be4ba4c5acdb19da266 Signed-off-by: Jorgen Nilsson --- arch/arm/mach-ux500/clock-db8500.c | 2 +- drivers/mfd/db8500-prcmu.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-ux500/clock-db8500.c b/arch/arm/mach-ux500/clock-db8500.c index cd29a6b0b52..98e3d73052f 100644 --- a/arch/arm/mach-ux500/clock-db8500.c +++ b/arch/arm/mach-ux500/clock-db8500.c @@ -799,7 +799,7 @@ static struct clk_lookup u8500_clocks[] = { CLK_LOOKUP(ipi2cclk, "ipi2", NULL), CLK_LOOKUP(dmaclk, "dma40.0", NULL), CLK_LOOKUP(b2r2clk, "b2r2", NULL), - CLK_LOOKUP(b2r2clk, "b2r2_bus", NULL), + CLK_LOOKUP(b2r2clk, "b2r2_core", NULL), CLK_LOOKUP(b2r2clk, "U8500-B2R2.0", NULL), CLK_LOOKUP(tvclk, "tv", NULL), CLK_LOOKUP(tvclk, "mcde", "tv"), diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c index 186206daab7..a62bff1adc6 100644 --- a/drivers/mfd/db8500-prcmu.c +++ b/drivers/mfd/db8500-prcmu.c @@ -2812,7 +2812,7 @@ static struct regulator_consumer_supply db8500_vsmps2_consumers[] = { }; static struct regulator_consumer_supply db8500_b2r2_mcde_consumers[] = { - REGULATOR_SUPPLY("vsupply", "b2r2_bus"), + REGULATOR_SUPPLY("vsupply", "b2r2_core"), REGULATOR_SUPPLY("vsupply", "mcde"), }; -- cgit v1.2.3