Displaying 6 results from an estimated 6 matches for "nv_cksum".
2010 Mar 23
1
[PATCH] drm/nouveau: fix vbios load and check functions on PowerPC
...t: [PATCH] drm/nouveau: fix vbios load and check functions on PowerPC
On PowerPC the Bios signature reports a wrong lenght of video rom.
Fix this by reading the correct size from Open Firmware.
Set Pramin as primary vbios searching method, because it's the only working method on PowerPC.
The nv_cksum function always fails.
Fix this by Calculating and adding checksum byte at the end of vbios.
Signed-off-by: Andrea Tacconi <tacconet at libero.it>
---
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 6b6c303..c234b45 100644
--- a/drivers/gpu/...
2009 Aug 20
1
Delays in DRM nouveau_bios.c
...p;(x))
#define ROM32(x) le32_to_cpu(*(uint32_t *)&(x))
@@ -50,6 +48,15 @@ struct init_exec {
bool repeat;
};
+static inline void bios_usleep(unsigned usecs)
+{
+ might_sleep();
+ if (usecs < 1000 * MAX_UDELAY_MS)
+ udelay(usecs);
+ else
+ msleep(usecs / 1000 + 1);
+}
+
static bool nv_cksum(const uint8_t *data, unsigned int length)
{
/* there's a few checksums in the BIOS, so here's a generic checking function */
@@ -262,7 +269,7 @@ static int parse_init_table(struct nvbios *, unsigned int, struct init_exec *);
static void still_alive(void)
{
// sync();
-// BIOS_USLEEP(2...
2024 Jun 11
0
[PATCH 2/6] drm/nouveau: remove unused struct 'init_exec'
...au_bios.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
> @@ -43,11 +43,6 @@
> #define BIOSLOG(sip, fmt, arg...) NV_DEBUG(sip->dev, fmt, ##arg)
> #define LOG_OLD_VALUE(x)
>
> -struct init_exec {
> - bool execute;
> - bool repeat;
> -};
> -
> static bool nv_cksum(const uint8_t *data, unsigned int length)
> {
> /*
2024 Jun 11
0
[PATCH 2/6] drm/nouveau: remove unused struct 'init_exec'
...;> @@ -43,11 +43,6 @@
>>> #define BIOSLOG(sip, fmt, arg...) NV_DEBUG(sip->dev, fmt, ##arg)
>>> #define LOG_OLD_VALUE(x)
>>> -struct init_exec {
>>> - bool execute;
>>> - bool repeat;
>>> -};
>>> -
>>> static bool nv_cksum(const uint8_t *data, unsigned int length)
>>> {
>>> /*
>>
2009 Oct 02
0
Disaster at annarchy
...the delay accuracy on the msleep path critical?
>
> no (but on udelay it possibly is)
>
> btw, does might_sleep() imply a possibility of getting
> rescheduled? If so, you probably only want might_sleep in the
> msleep() (not udelay()) path?
>
> >> > static bool nv_cksum(const uint8_t *data, unsigned int
> >> > length) {
> >> > /* there's a few checksums in the BIOS, so here's a
> >> > generic checking function */ @@ -262,7 +269,7 @@ static int
> >> > parse_init_table(struct nvbios *, unsigned int, struct
&g...
2014 Mar 23
0
[PATCH] drm/nouveau: allow nv04/nv50/nvc0+ parts of the driver to be separated
.../
int nv04_crtc_create(struct drm_device *, int index);
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 4c3feaa..5ad11d3 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -67,6 +67,8 @@ static bool nv_cksum(const uint8_t *data, unsigned int length)
return false;
}
+#ifdef CONFIG_DRM_NOUVEAU_NV04
+
static uint16_t clkcmptable(struct nvbios *bios, uint16_t clktable, int pxclk)
{
int compare_record_len, i = 0;
@@ -257,6 +259,8 @@ int call_lvds_script(struct drm_device *dev, struct dcb_output *dc...