diff options
author | 2007-12-18 22:34:10 +0000 | |
---|---|---|
committer | 2007-12-18 22:34:10 +0000 | |
commit | 876fe0957709729b0c99c763731efc879ad1ecb9 (patch) | |
tree | f855b3a1ce0ddc66cb8ea7f28ed955c91ba62218 | |
parent | dtc was added to the tree by lu (diff) | |
download | cell-876fe0957709729b0c99c763731efc879ad1ecb9.tar.gz cell-876fe0957709729b0c99c763731efc879ad1ecb9.tar.bz2 cell-876fe0957709729b0c99c763731efc879ad1ecb9.zip |
Adding fb fix for 2.10 sony bustage
svn path=/; revision=26
3 files changed, 71 insertions, 4 deletions
diff --git a/sys-kernel/ps3-sources/Manifest b/sys-kernel/ps3-sources/Manifest index 05f0dc0..f51a7f8 100644 --- a/sys-kernel/ps3-sources/Manifest +++ b/sys-kernel/ps3-sources/Manifest @@ -6,6 +6,10 @@ AUX ps3-wireless.config 28021 RMD160 252ab5485a7d029d3b0d2457693ec27d051a72a9 SH MD5 c8d2cd0cc02a119cf3afa33e25a0f2b1 files/ps3-wireless.config 28021 RMD160 252ab5485a7d029d3b0d2457693ec27d051a72a9 files/ps3-wireless.config 28021 SHA256 fa15fcfb783ae59d676aa1fd099fdd6d21990277018757064a8b8cb4c3fb7d22 files/ps3-wireless.config 28021 +AUX ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071 RMD160 d60eaaa6ed2a5f4514a7d2090758017f9e234359 SHA1 22053c544ddae2f53ee13cb216e42a5b792cd79f SHA256 c686c8bcde8aad669165d21f68f0a76912b8bb143e860a8507996b11ffe38d75 +MD5 04e2efb43bc6f590a36e783f41ed6c44 files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071 +RMD160 d60eaaa6ed2a5f4514a7d2090758017f9e234359 files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071 +SHA256 c686c8bcde8aad669165d21f68f0a76912b8bb143e860a8507996b11ffe38d75 files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071 AUX squashfs-3.2-r2.diff.bz2 18915 RMD160 d87a84d5f61f56d594ff81e40e785d6175a72713 SHA1 14a7e3564a2f6619914167db3c0c02a5e748ee84 SHA256 445f0e6e2c597c623b3134508627499cc5506d9dfa06bf8d3116f078723f139b MD5 53a80d77404a14c00c0609e78f58c338 files/squashfs-3.2-r2.diff.bz2 18915 RMD160 d87a84d5f61f56d594ff81e40e785d6175a72713 files/squashfs-3.2-r2.diff.bz2 18915 @@ -27,10 +31,10 @@ EBUILD ps3-sources-2.6.16-r2.ebuild 725 RMD160 8652da9ebded07be8ec39b0af36947fe5 MD5 bd287259aa74a1f268580e815c2135ca ps3-sources-2.6.16-r2.ebuild 725 RMD160 8652da9ebded07be8ec39b0af36947fe53a5eeed ps3-sources-2.6.16-r2.ebuild 725 SHA256 1e530c6f22cc0474c1257355a0b5bb389cd62a94200d9b8d5b5b487881d7dbfc ps3-sources-2.6.16-r2.ebuild 725 -EBUILD ps3-sources-2.6.23.ebuild 506 RMD160 8c3fef418898fe6c91d05d45088e17d03925d2a0 SHA1 28eb1b83e1dc9eb99b56b71ac10a94ea361c262e SHA256 530a7cfb0699b5b259a222fba8154921f6b962a81001d4aa81301037923f021b -MD5 c2289c4764f19990271a5bab9c54c843 ps3-sources-2.6.23.ebuild 506 -RMD160 8c3fef418898fe6c91d05d45088e17d03925d2a0 ps3-sources-2.6.23.ebuild 506 -SHA256 530a7cfb0699b5b259a222fba8154921f6b962a81001d4aa81301037923f021b ps3-sources-2.6.23.ebuild 506 +EBUILD ps3-sources-2.6.23.ebuild 587 RMD160 1b5ee294599127de6410d7b4cdb5b6d5ea2e7b8f SHA1 b68b27b77de4c72242732bd98877738e9e92af6c SHA256 c656716e3d2fa900ac5f95a013c1178d21fa6427e004293121237af6a011e933 +MD5 ddaee18541e7942abea3cc56fa972bc3 ps3-sources-2.6.23.ebuild 587 +RMD160 1b5ee294599127de6410d7b4cdb5b6d5ea2e7b8f ps3-sources-2.6.23.ebuild 587 +SHA256 c656716e3d2fa900ac5f95a013c1178d21fa6427e004293121237af6a011e933 ps3-sources-2.6.23.ebuild 587 MD5 681c10fd35a5a8db9f15d2466363f353 files/digest-ps3-sources-2.6.16-r1 494 RMD160 4e1038ea2b6a0bb858d694adb501555134012e99 files/digest-ps3-sources-2.6.16-r1 494 SHA256 27396117bd919967440fda52e25bf610a0d4bc9ad27ad2b9cb38422f327bd995 files/digest-ps3-sources-2.6.16-r1 494 diff --git a/sys-kernel/ps3-sources/files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff b/sys-kernel/ps3-sources/files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff new file mode 100644 index 0000000..bc4aeca --- /dev/null +++ b/sys-kernel/ps3-sources/files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff @@ -0,0 +1,61 @@ +--- linux-2.6.23.orig/drivers/video/ps3fb.c ++++ linux-2.6.23/drivers/video/ps3fb.c +@@ -52,7 +52,8 @@ + #define L1GPU_DISPLAY_SYNC_VSYNC 2 + + #define DDR_SIZE (0) /* used no ddr */ +-#define GPU_CMD_BUF_SIZE (64 * 1024) ++#define GPU_CMD_BUF_SIZE (2 * 1024 * 1024) ++#define GPU_FB_START (64 * 1024) + #define GPU_IOIF (0x0d000000UL) + #define GPU_ALIGN_UP(x) _ALIGN_UP((x), 64) + #define GPU_MAX_LINE_LENGTH (65536 - 64) +@@ -407,6 +408,7 @@ + if (src_line_length != dst_line_length) + line_length |= (u64)src_line_length << 32; + ++ src_offset += GPU_FB_START; + status = lv1_gpu_context_attribute(ps3fb.context_handle, + L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT, + dst_offset, GPU_IOIF + src_offset, +@@ -977,9 +979,8 @@ + + status = lv1_gpu_context_attribute(ps3fb.context_handle, + L1GPU_CONTEXT_ATTRIBUTE_FB_SETUP, +- xdr_lpar + ps3fb.xdr_size, +- GPU_CMD_BUF_SIZE, +- GPU_IOIF + ps3fb.xdr_size, 0); ++ xdr_lpar, GPU_CMD_BUF_SIZE, ++ GPU_IOIF, 0); + if (status) { + dev_err(dev, + "%s: lv1_gpu_context_attribute FB_SETUP failed: %d\n", +@@ -1061,6 +1062,11 @@ + int status, res_index; + struct task_struct *task; + ++ if (ps3fb_videomemory.size < GPU_CMD_BUF_SIZE) { ++ dev_err(&dev->core, "%s: Not enough video memory\n", __func__); ++ return -ENOMEM; ++ } ++ + status = ps3_open_hv_device(dev); + if (status) { + dev_err(&dev->core, "%s: ps3_open_hv_device failed\n", +@@ -1124,8 +1130,14 @@ + /* Clear memory to prevent kernel info leakage into userspace */ + memset(ps3fb.xdr_ea, 0, ps3fb_videomemory.size); + +- /* The GPU command buffer is at the end of video memory */ +- ps3fb.xdr_size = ps3fb_videomemory.size - GPU_CMD_BUF_SIZE; ++ /* ++ * The GPU command buffer is at the start of video memory ++ * As we don't use the full command buffer, we can put the actual ++ * frame buffer at offset GPU_FB_START and save some precious XDR ++ * memory ++ */ ++ ps3fb.xdr_ea += GPU_FB_START; ++ ps3fb.xdr_size = ps3fb_videomemory.size - GPU_FB_START; + + retval = ps3fb_xdr_settings(xdr_lpar, &dev->core); + if (retval) diff --git a/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild b/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild index 793c06f..ec7bb24 100644 --- a/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild +++ b/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild @@ -22,6 +22,8 @@ src_unpack() { #cd ${S} cd .. epatch ${DISTDIR}/${PV}-ps3updates.diff.bz2 + epatch ${FILESDIR}/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff + } |