[PATCH] grspw: descriptor tables no longer statically allocated
Cláudio Silva
claudiodcsilva at gmail.com
Thu Jan 22 08:31:37 UTC 2015
Hello,
OK with me.
Best Regards,
Cláudio
On Jan 22, 2015 8:15 AM, "Daniel Hellstrom" <daniel at gaisler.com> wrote:
> Hello,
>
> Haven't tested but seems good.
>
> Thanks,
> Daniel
>
> On 01/21/2015 05:05 PM, Gedare Bloom wrote:
>
>> Claudio and Daniel H,
>> OK to commit?
>>
>> -Gedare
>>
>> On Tue, Dec 23, 2014 at 10:08 PM, Gedare Bloom <gedare at rtems.org> wrote:
>>
>>> This is a patch proposed for PR 1761
>>> [https://devel.rtems.org/ticket/1761]. Comment if OK or not.
>>>
>>>
>>> On Tue, Dec 23, 2014 at 10:05 PM, Gedare Bloom <gedare at rtems.org> wrote:
>>>
>>>> From: Daniel Ramirez <javamonn at gmail.com>
>>>>
>>>> ---
>>>> c/src/lib/libbsp/sparc/shared/spw/grspw.c | 14 +++++++-------
>>>> 1 file changed, 7 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw.c
>>>> b/c/src/lib/libbsp/sparc/shared/spw/grspw.c
>>>> index b311500..d3eb9b9 100644
>>>> --- a/c/src/lib/libbsp/sparc/shared/spw/grspw.c
>>>> +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw.c
>>>> @@ -84,6 +84,7 @@
>>>> #include <assert.h>
>>>> #include <ctype.h>
>>>> #include <rtems/bspIo.h>
>>>> +#include <rtems/malloc.h>
>>>> #include <ambapp.h>
>>>> #include <grlib.h>
>>>> #include <grspw.h>
>>>> @@ -149,8 +150,6 @@ typedef struct {
>>>>
>>>> #define BUFMEM_PER_LINK (SPACEWIRE_TXBUFS_NR*(
>>>> SPACEWIRE_TXD_SIZE+SPACEWIRE_TXH_SIZE) + SPACEWIRE_RXBUFS_NR*SPACEWIRE_
>>>> RXPCK_SIZE)
>>>>
>>>> -#define SPW_ALIGN(p,c) ((((unsigned int)(p))+((c)-1))&~((c)-1))
>>>> -
>>>> typedef struct {
>>>> /* configuration parameters */
>>>> spw_config config;
>>>> @@ -190,9 +189,6 @@ typedef struct {
>>>>
>>>> #ifdef GRSPW_STATIC_MEM
>>>> unsigned int membase, memend, mem_bdtable;
>>>> -#else
>>>> - char _rxtable[SPACEWIRE_BDTABLE_SIZE*2];
>>>> - char _txtable[SPACEWIRE_BDTABLE_SIZE*2];
>>>> #endif
>>>>
>>>> LEON3_SPACEWIRE_Regs_Map *regs;
>>>> @@ -1383,8 +1379,8 @@ static int grspw_hw_init(GRSPW_DEV *pDev) {
>>>> pDev->rx = (SPACEWIRE_RXBD *) pDev->mem_bdtable;
>>>> pDev->tx = (SPACEWIRE_RXBD *) pDev->mem_bdtable +
>>>> SPACEWIRE_BDTABLE_SIZE;
>>>> #else
>>>> - pDev->rx = (SPACEWIRE_RXBD *) SPW_ALIGN(&pDev->_rxtable,
>>>> SPACEWIRE_BDTABLE_SIZE);
>>>> - pDev->tx = (SPACEWIRE_TXBD *) SPW_ALIGN(&pDev->_txtable,
>>>> SPACEWIRE_BDTABLE_SIZE);
>>>> + pDev->rx = (SPACEWIRE_RXBD *) rtems_heap_allocate_aligned_with_boundry(
>>>> SPACEWIRE_BDTABLE_SIZE, 1024, 0 );
>>>> + pDev->tx = (SPACEWIRE_TXBD *) rtems_heap_allocate_aligned_with_boundry(
>>>> SPACEWIRE_BDTABLE_SIZE, 1024, 0 );
>>>> #endif
>>>> SPACEWIRE_DBG("hw_init [minor %i]\n", pDev->minor);
>>>>
>>>> @@ -1425,6 +1421,10 @@ static void grspw_hw_reset(GRSPW_DEV *pDev)
>>>> SPW_STATUS_WRITE(pDev, SPW_STATUS_TO | SPW_STATUS_CE |
>>>> SPW_STATUS_ER | SPW_STATUS_DE | SPW_STATUS_PE |
>>>> SPW_STATUS_WE | SPW_STATUS_IA |
>>>> SPW_STATUS_EE); /*clear status*/
>>>> SPW_CTRL_WRITE(pDev, SPW_CTRL_LINKSTART); /*start link core*/
>>>> + #ifndef GRSPW_STATIC_MEM
>>>> + free(pDev->rx);
>>>> + free(pDec->tx);
>>>> + #endif
>>>> }
>>>>
>>>> static void grspw_hw_read_config(GRSPW_DEV *pDev)
>>>> --
>>>> 1.8.3.1
>>>>
>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20150122/74cc7f17/attachment-0002.html>
More information about the devel
mailing list