Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 228473 | Differences between
and this patch

Collapse All | Expand All

(-)viaLowLevel.c (-3 / +10 lines)
Lines 277-286 Link Here
277
	xl->tsMem.size = 64;
277
	xl->tsMem.size = 64;
278
	xl->tsMem.type = VIA_MEM_VIDEO;
278
	xl->tsMem.type = VIA_MEM_VIDEO;
279
	if (drmCommandWriteRead(xl->fd, DRM_VIA_ALLOCMEM, &xl->tsMem,
279
	if (drmCommandWriteRead(xl->fd, DRM_VIA_ALLOCMEM, &xl->tsMem,
280
		sizeof(xl->tsMem)) < 0)
280
		sizeof(xl->tsMem)) < 0) {
281
	    fprintf(stderr, "DRM_VIA_ALLOCMEM failed size %d\n", sizeof(xl->tsMem));
281
	    return ret;
282
	    return ret;
282
	if (xl->tsMem.size != 64)
283
	}
284
	if (xl->tsMem.size != 64) {
285
	    fprintf(stderr, "error: tsMem.size is %d\n", xl->tsMem.size);
283
	    return -1;
286
	    return -1;
287
	}
284
	xl->tsOffset = (xl->tsMem.offset + 31) & ~31;
288
	xl->tsOffset = (xl->tsMem.offset + 31) & ~31;
285
	xl->tsP = (CARD32 *) xl->fbAddress + (xl->tsOffset >> 2);
289
	xl->tsP = (CARD32 *) xl->fbAddress + (xl->tsOffset >> 2);
286
	xl->curTimeStamp = 1;
290
	xl->curTimeStamp = 1;
Lines 1014-1021 Link Here
1014
1018
1015
    xl = (XvMCLowLevel *) malloc(sizeof(XvMCLowLevel));
1019
    xl = (XvMCLowLevel *) malloc(sizeof(XvMCLowLevel));
1016
1020
1017
    if (!xl)
1021
    if (!xl) {
1022
	fprintf(stderr, "malloc failed\n");
1018
	return NULL;
1023
	return NULL;
1024
    }
1019
1025
1020
    xl->agp_pos = 0;
1026
    xl->agp_pos = 0;
1021
    xl->pci_pos = 0;
1027
    xl->pci_pos = 0;
Lines 1031-1036 Link Here
1031
    xl->agpSync = 0;
1037
    xl->agpSync = 0;
1032
    ret = viaDMAInitTimeStamp(xl);
1038
    ret = viaDMAInitTimeStamp(xl);
1033
    if (ret) {
1039
    if (ret) {
1040
	fprintf(stderr, "viaDMAInitTimeStamp failed with code %d\n", ret);
1034
	free(xl);
1041
	free(xl);
1035
	return NULL;
1042
	return NULL;
1036
    }
1043
    }
(-)viaLowLevelPro.c (-5 / +20 lines)
Lines 1467-1472 Link Here
1467
1467
1468
	if (((ret = drmCommandWriteRead(xl->fd, DRM_VIA_ALLOCMEM, mem,
1468
	if (((ret = drmCommandWriteRead(xl->fd, DRM_VIA_ALLOCMEM, mem,
1469
			sizeof(mem))) < 0) || mem->size != size) {
1469
			sizeof(mem))) < 0) || mem->size != size) {
1470
	    fprintf(stderr, "updateLowLevelBuf failure:\n"
1471
			    " ret=%d, size=%u, mem->size=%u\n",
1472
			    ret, size, mem->size);
1470
	    mem->size = 0;
1473
	    mem->size = 0;
1471
	    return -1;
1474
	    return -1;
1472
	}
1475
	}
Lines 1514-1519 Link Here
1514
    drmAddress fbAddress, unsigned fbStride, unsigned fbDepth,
1517
    drmAddress fbAddress, unsigned fbStride, unsigned fbDepth,
1515
    unsigned width, unsigned height, int useAgp, unsigned chipId)
1518
    unsigned width, unsigned height, int useAgp, unsigned chipId)
1516
{
1519
{
1520
    int ret;
1517
    XvMCLowLevel *xl;
1521
    XvMCLowLevel *xl;
1518
    
1522
    
1519
    if (chipId != PCI_CHIP_VT3259 && chipId != PCI_CHIP_VT3364) {
1523
    if (chipId != PCI_CHIP_VT3259 && chipId != PCI_CHIP_VT3364) {
Lines 1523-1535 Link Here
1523
    }
1527
    }
1524
1528
1525
    xl = (XvMCLowLevel *) malloc(sizeof(XvMCLowLevel));
1529
    xl = (XvMCLowLevel *) malloc(sizeof(XvMCLowLevel));
1526
    if (!xl)
1530
    if (!xl) {
1531
	fprintf(stderr, "xl malloc failed\n");
1527
	return NULL;
1532
	return NULL;
1533
    }
1534
1528
    xl->state = ll_init;
1535
    xl->state = ll_init;
1529
1536
1530
    xl->agpBuf.buf = (CARD32 *) malloc(LL_AGP_CMDBUF_SIZE * sizeof(CARD32));
1537
    xl->agpBuf.buf = (CARD32 *) malloc(LL_AGP_CMDBUF_SIZE * sizeof(CARD32));
1531
    if (!xl->agpBuf.buf)
1538
    if (!xl->agpBuf.buf) {
1539
	fprintf(stderr, "xl->agpBuf.buf malloc failed\n");
1532
	return releaseXvMCLowLevel(xl);
1540
	return releaseXvMCLowLevel(xl);
1541
    }
1533
    xl->state = ll_agpBuf;
1542
    xl->state = ll_agpBuf;
1534
    xl->agpBuf.bufSize = LL_AGP_CMDBUF_SIZE;
1543
    xl->agpBuf.bufSize = LL_AGP_CMDBUF_SIZE;
1535
    xl->agpBuf.flushFunc = &agpFlush;
1544
    xl->agpBuf.flushFunc = &agpFlush;
Lines 1538-1545 Link Here
1538
    xl->agpBuf.waitFlags = 0;
1547
    xl->agpBuf.waitFlags = 0;
1539
1548
1540
    xl->pciBuf.buf = (CARD32 *) malloc(LL_PCI_CMDBUF_SIZE * sizeof(CARD32));
1549
    xl->pciBuf.buf = (CARD32 *) malloc(LL_PCI_CMDBUF_SIZE * sizeof(CARD32));
1541
    if (!xl->pciBuf.buf)
1550
    if (!xl->pciBuf.buf) {
1551
	fprintf(stderr, "xl->pciBuf.buf malloc failed\n");
1542
	return releaseXvMCLowLevel(xl);
1552
	return releaseXvMCLowLevel(xl);
1553
    }
1543
    xl->state = ll_pciBuf;
1554
    xl->state = ll_pciBuf;
1544
    xl->pciBuf.bufSize = LL_PCI_CMDBUF_SIZE;
1555
    xl->pciBuf.bufSize = LL_PCI_CMDBUF_SIZE;
1545
    xl->pciBuf.flushFunc = &pciFlush;
1556
    xl->pciBuf.flushFunc = &pciFlush;
Lines 1562-1576 Link Here
1562
    xl->agpSync = 0;
1573
    xl->agpSync = 0;
1563
    xl->chipId = chipId;
1574
    xl->chipId = chipId;
1564
1575
1565
    if (viaDMAInitTimeStamp(xl))
1576
    if ((ret = viaDMAInitTimeStamp(xl))) {
1577
	fprintf(stderr, "viaDMAInitTimeStamp failed with code %d\n", ret);	
1566
	return releaseXvMCLowLevel(xl);
1578
	return releaseXvMCLowLevel(xl);
1579
    }
1567
    xl->state = ll_timeStamp;
1580
    xl->state = ll_timeStamp;
1568
1581
1569
    xl->scale.mem.size = 0;
1582
    xl->scale.mem.size = 0;
1570
    xl->back.mem.size = 0;
1583
    xl->back.mem.size = 0;
1571
1584
1572
    if (updateLowLevelBuf(xl, &xl->scale, width, height))
1585
    if ((ret = updateLowLevelBuf(xl, &xl->scale, width, height))) {
1586
	fprintf(stderr, "updateLowLevelBuf failed with code %d\n", ret);
1573
	return releaseXvMCLowLevel(xl);
1587
	return releaseXvMCLowLevel(xl);
1588
    }
1574
    xl->state = ll_llBuf;
1589
    xl->state = ll_llBuf;
1575
1590
1576
#ifdef VIDEO_DMA
1591
#ifdef VIDEO_DMA

Return to bug 228473