radeon: Use request_firmware()
authorBen Hutchings <ben@decadent.org.uk>
Sat, 29 Aug 2009 13:53:51 +0000 (14:53 +0100)
committerDave Airlie <airlied@redhat.com>
Sun, 30 Aug 2009 23:09:30 +0000 (09:09 +1000)
Loosely based on a patch by
Jaswinder Singh Rajput <jaswinderlinux@gmail.com>.

KMS support by Dave Airlie <airlied@redhat.com>.

For Radeon 100- to 500-series, firmware blobs look like:
    struct {
        __be32 datah;
        __be32 datal;
    } cp_ucode[256];

For Radeon 600-series, there are two separate firmware blobs:
    __be32 me_ucode[PM4_UCODE_SIZE * 3];
    __be32 pfp_ucode[PFP_UCODE_SIZE];

For Radeon 700-series, likewise:
    __be32 me_ucode[R700_PM4_UCODE_SIZE];
    __be32 pfp_ucode[R700_PFP_UCODE_SIZE];

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Dave Airlie <airlied@redhat.com>
28 files changed:
WHENCE
radeon/R100_cp.bin [new file with mode: 0644]
radeon/R200_cp.bin [new file with mode: 0644]
radeon/R300_cp.bin [new file with mode: 0644]
radeon/R420_cp.bin [new file with mode: 0644]
radeon/R520_cp.bin [new file with mode: 0644]
radeon/R600_me.bin [new file with mode: 0644]
radeon/R600_pfp.bin [new file with mode: 0644]
radeon/RS600_cp.bin [new file with mode: 0644]
radeon/RS690_cp.bin [new file with mode: 0644]
radeon/RS780_me.bin [new file with mode: 0644]
radeon/RS780_pfp.bin [new file with mode: 0644]
radeon/RV610_me.bin [new file with mode: 0644]
radeon/RV610_pfp.bin [new file with mode: 0644]
radeon/RV620_me.bin [new file with mode: 0644]
radeon/RV620_pfp.bin [new file with mode: 0644]
radeon/RV630_me.bin [new file with mode: 0644]
radeon/RV630_pfp.bin [new file with mode: 0644]
radeon/RV635_me.bin [new file with mode: 0644]
radeon/RV635_pfp.bin [new file with mode: 0644]
radeon/RV670_me.bin [new file with mode: 0644]
radeon/RV670_pfp.bin [new file with mode: 0644]
radeon/RV710_me.bin [new file with mode: 0644]
radeon/RV710_pfp.bin [new file with mode: 0644]
radeon/RV730_me.bin [new file with mode: 0644]
radeon/RV730_pfp.bin [new file with mode: 0644]
radeon/RV770_me.bin [new file with mode: 0644]
radeon/RV770_pfp.bin [new file with mode: 0644]

diff --git a/WHENCE b/WHENCE
index 578d859..00378ee 100644 (file)
--- a/WHENCE
+++ b/WHENCE
@@ -761,3 +761,61 @@ Copyright 2000 Advanced Micro Devices, Inc.
 Found in decimal form in kernel source.
 
 --------------------------------------------------------------------------
+
+Driver: radeon - ATI Radeon
+
+File: radeon/R100_cp.bin
+File: radeon/R200_cp.bin
+File: radeon/R300_cp.bin
+File: radeon/R420_cp.bin
+File: radeon/RS600_cp.bin
+File: radeon/RS690_cp.bin
+File: radeon/R520_cp.bin
+File: radeon/R600_pfp.bin
+File: radeon/R600_me.bin
+File: radeon/RV610_pfp.bin
+File: radeon/RV610_me.bin
+File: radeon/RV630_pfp.bin
+File: radeon/RV630_me.bin
+File: radeon/RV620_pfp.bin
+File: radeon/RV620_me.bin
+File: radeon/RV635_pfp.bin
+File: radeon/RV635_me.bin
+File: radeon/RV670_pfp.bin
+File: radeon/RV670_me.bin
+File: radeon/RS780_pfp.bin
+File: radeon/RS780_me.bin
+File: radeon/RV770_pfp.bin
+File: radeon/RV770_me.bin
+File: radeon/RV730_pfp.bin
+File: radeon/RV730_me.bin
+File: radeon/RV710_pfp.bin
+File: radeon/RV710_me.bin
+
+Licence:
+
+ * Copyright 2007-2009 Advanced Micro Devices, Inc.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Found in hex form in kernel source.
+
+--------------------------------------------------------------------------
diff --git a/radeon/R100_cp.bin b/radeon/R100_cp.bin
new file mode 100644 (file)
index 0000000..f1e8a11
Binary files /dev/null and b/radeon/R100_cp.bin differ
diff --git a/radeon/R200_cp.bin b/radeon/R200_cp.bin
new file mode 100644 (file)
index 0000000..8ac88c6
Binary files /dev/null and b/radeon/R200_cp.bin differ
diff --git a/radeon/R300_cp.bin b/radeon/R300_cp.bin
new file mode 100644 (file)
index 0000000..b1b1100
Binary files /dev/null and b/radeon/R300_cp.bin differ
diff --git a/radeon/R420_cp.bin b/radeon/R420_cp.bin
new file mode 100644 (file)
index 0000000..bfeff60
Binary files /dev/null and b/radeon/R420_cp.bin differ
diff --git a/radeon/R520_cp.bin b/radeon/R520_cp.bin
new file mode 100644 (file)
index 0000000..1c93ca9
Binary files /dev/null and b/radeon/R520_cp.bin differ
diff --git a/radeon/R600_me.bin b/radeon/R600_me.bin
new file mode 100644 (file)
index 0000000..3939685
Binary files /dev/null and b/radeon/R600_me.bin differ
diff --git a/radeon/R600_pfp.bin b/radeon/R600_pfp.bin
new file mode 100644 (file)
index 0000000..b1b2e95
Binary files /dev/null and b/radeon/R600_pfp.bin differ
diff --git a/radeon/RS600_cp.bin b/radeon/RS600_cp.bin
new file mode 100644 (file)
index 0000000..171ecac
Binary files /dev/null and b/radeon/RS600_cp.bin differ
diff --git a/radeon/RS690_cp.bin b/radeon/RS690_cp.bin
new file mode 100644 (file)
index 0000000..38f11b4
Binary files /dev/null and b/radeon/RS690_cp.bin differ
diff --git a/radeon/RS780_me.bin b/radeon/RS780_me.bin
new file mode 100644 (file)
index 0000000..67292bf
Binary files /dev/null and b/radeon/RS780_me.bin differ
diff --git a/radeon/RS780_pfp.bin b/radeon/RS780_pfp.bin
new file mode 100644 (file)
index 0000000..7d89878
Binary files /dev/null and b/radeon/RS780_pfp.bin differ
diff --git a/radeon/RV610_me.bin b/radeon/RV610_me.bin
new file mode 100644 (file)
index 0000000..66d265c
Binary files /dev/null and b/radeon/RV610_me.bin differ
diff --git a/radeon/RV610_pfp.bin b/radeon/RV610_pfp.bin
new file mode 100644 (file)
index 0000000..18c3546
Binary files /dev/null and b/radeon/RV610_pfp.bin differ
diff --git a/radeon/RV620_me.bin b/radeon/RV620_me.bin
new file mode 100644 (file)
index 0000000..66d265c
Binary files /dev/null and b/radeon/RV620_me.bin differ
diff --git a/radeon/RV620_pfp.bin b/radeon/RV620_pfp.bin
new file mode 100644 (file)
index 0000000..18c3546
Binary files /dev/null and b/radeon/RV620_pfp.bin differ
diff --git a/radeon/RV630_me.bin b/radeon/RV630_me.bin
new file mode 100644 (file)
index 0000000..9ded757
Binary files /dev/null and b/radeon/RV630_me.bin differ
diff --git a/radeon/RV630_pfp.bin b/radeon/RV630_pfp.bin
new file mode 100644 (file)
index 0000000..18c3546
Binary files /dev/null and b/radeon/RV630_pfp.bin differ
diff --git a/radeon/RV635_me.bin b/radeon/RV635_me.bin
new file mode 100644 (file)
index 0000000..9ded757
Binary files /dev/null and b/radeon/RV635_me.bin differ
diff --git a/radeon/RV635_pfp.bin b/radeon/RV635_pfp.bin
new file mode 100644 (file)
index 0000000..18c3546
Binary files /dev/null and b/radeon/RV635_pfp.bin differ
diff --git a/radeon/RV670_me.bin b/radeon/RV670_me.bin
new file mode 100644 (file)
index 0000000..109b675
Binary files /dev/null and b/radeon/RV670_me.bin differ
diff --git a/radeon/RV670_pfp.bin b/radeon/RV670_pfp.bin
new file mode 100644 (file)
index 0000000..18c3546
Binary files /dev/null and b/radeon/RV670_pfp.bin differ
diff --git a/radeon/RV710_me.bin b/radeon/RV710_me.bin
new file mode 100644 (file)
index 0000000..da259e0
Binary files /dev/null and b/radeon/RV710_me.bin differ
diff --git a/radeon/RV710_pfp.bin b/radeon/RV710_pfp.bin
new file mode 100644 (file)
index 0000000..925b36d
Binary files /dev/null and b/radeon/RV710_pfp.bin differ
diff --git a/radeon/RV730_me.bin b/radeon/RV730_me.bin
new file mode 100644 (file)
index 0000000..09b8eae
Binary files /dev/null and b/radeon/RV730_me.bin differ
diff --git a/radeon/RV730_pfp.bin b/radeon/RV730_pfp.bin
new file mode 100644 (file)
index 0000000..925b36d
Binary files /dev/null and b/radeon/RV730_pfp.bin differ
diff --git a/radeon/RV770_me.bin b/radeon/RV770_me.bin
new file mode 100644 (file)
index 0000000..ae8c8d9
Binary files /dev/null and b/radeon/RV770_me.bin differ
diff --git a/radeon/RV770_pfp.bin b/radeon/RV770_pfp.bin
new file mode 100644 (file)
index 0000000..e835372
Binary files /dev/null and b/radeon/RV770_pfp.bin differ