[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